2.3の私のスピナー:
および4.0の場合:
これが私のコードです:
Spinner s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<?> adapter = ArrayAdapter.createFromResource(
this, R.array.planets, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
レイアウト:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="Please select a planet:"
/>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
/>
</LinearLayout>
そして配列リソース、
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="planets">
<item>a</item>
<item>aa</item>
<item>aaa</item>
<item>aaaa</item>
<item>aaaaa</item>
<item>aaaaaa</item>
<item>aaaaaaa</item>
<item>aaaaaaaa</item>
</string-array>
</resources>
2.3では、スピナーのレイアウト幅はスピナーアイテムのコンテンツに基づいていますが、最も幅の広いコンテンツでは修正され、4.0では他のコンテンツでは変更されないことに気付きました。スピナーレイアウトがfill_parentに設定されていても問題はありませんが、wrap_contentスピナーが必要です...
両方のシステムで一貫性を保つ方法を知っていますか?コンテンツの長さが大きく異なると見苦しくなりますので。
ありがとうございました。