3

AppcelleratorTitaniumでタブ付きモバイルアプリケーションを構築しています。
1つのタブを大きなテキストセグメントで埋める必要があり、これを行うためにTextAreaを使用しています。

var explanationView = Ti.UI.createTextArea({
    enabled: false, 
    editable: false, 
    color: 'black', 
    value: explanation
});

これにより、必要なテキストが表示されます。ただし、コンテンツが長すぎて収まらない場合は、コンテンツの後半部分が表示されるため、ユーザーは上にスクロールしてテキストの先頭を見つける必要があります。

  What I get:       What I want:
  __________       ______________
 | CONTENT  |      ||          ||
_|__________|_     ||   VIEW   ||
||          ||     ||__________||
||  VIEW    ||      |  Content |
||__________||      |__________|

私の質問は2つあると思います。

  • 生成時にTextAreaを強制的に一番上にスクロールする方法はありますか?
  • 編集不可能なtextViewを実現するためにチタンを使用するより良い方法はありますか?

-ソリューションで更新します-

マーティンは絶対に正しいです。表示用に編集不可能なテキストを作成する最良の方法は、を使用することTi.UI.Labelです。私の場合の実用的な解決策は、上記のコードを次のように置き換えることでした。

var explanationView = Titanium.UI.createScrollView()
explanationView.add(Ti.UI.createLabel({text: explanation, color:'black'}))

win.add(explanationView)
4

2 に答える 2

3

編集できないTextAreaを表すためのより良い方法は、ラベルです。これは、必要に応じて複数の行に拡張する必要があります。また、ボックスが通常のテキストエリアエントリのように編集できるものであるとユーザーが考えるのを混乱させる可能性も低くなります。

写真が何を伝えようとしているのかよくわかりません。最初は、ビューとテキストエリアをビュー全体に間違った順序で追加しているか、上下の位置が間違っているように見えます。

スクロール可能なテキストと他のコンテンツを含むビューを同時に表示しようとしている場合は、おそらくスクロール可能なビューを作成し、適切な高さを設定してその上にテキストを配置し、他のビューに残りの部分を塗りつぶします。スクリーン。

画面上に大量のテキストやアイテムを作成したときはいつでも、ビューがまだ一番下までスクロールされていません。自分でスクロールダウンした後、win / viewを破棄して再作成しないと、これが表示される可能性があります。特に、画面にすでに表示されているアイテムを再利用して、データをリロードしようとした場合は特にそうです。

于 2012-10-08T21:08:58.163 に答える
2

上記の解決策としてラベルを使用すると、うまくいきます。ただし、ラベルの文字数制限は短くなります。長いテキストにラベルを使用すると、テキストがカットされます。長いテキストでTextAreasを使用し続けるには、editableプロパティをfalseに設定し、TextAreaをScrollView内に配置します。ScrollViewsを使用すると、デバイスのビューを超えてアイテムを自由に拡張できるほか、コードの実装によって特定の領域にスクロールする機能が提供されるため、これによりTextAreaの上部が表示されます。

于 2012-11-13T06:25:02.543 に答える