手順1.テキストが折り返されているTextView
TextView
最初に行うことは、テキストを単純に折り返すように強制することです。それは簡単です:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="false"
android:text="very long text that will be wrapped to next line" />
singleLine
ここで属性に注意してください。
ステップ2.カスタムレイアウト
ここで、リスト内のアイテムを表示するために、なんらかの方法でsingleLine
属性をinusedに設定する必要があります。false
TextView
Spinner
あなたのコードには、おそらくそれを使用するためのアダプターを作成する場所がありますSpinner
:
this.mAdapter = ArrayAdapter.createFromResource(this, R.array.Planets,
android.R.layout.simple_spinner_dropdown_item);
アイデアは、 android.R.layout.simple_spinner_dropdown_itemレイアウトをプロジェクトにコピーすることです。次に、singleLine
属性をに設定して変更false
しCheckedTextView
ます。
このために、次のコードで名前がres/layout
付けられたフォルダにファイルを追加します。multiline_spinner_dropdown_item.xml
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="false"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee" />
このファイルは、現在設定されていることを除いて、 android.R.layout.simple_spinner_dropdown_itemレイアウトと同じであることに注意してください。singleLine
false
ステップ3.カスタムレイアウトでアダプターを作成する
アダプター作成コードを次のように変更します。
this.mAdapter = ArrayAdapter.createFromResource(this, R.array.Planets,
R.layout.multiline_spinner_dropdown_item);
これは、AndroidSDKの変更されたSpinnerActivity
例のスクリーンショットです。