1

いくつかのスピナーを含むAndroidアプリケーションを作成しています。ここにいくつかの問題があります。スピナーアイテムのテキストの色は、デバイスによって異なる場合があります。どうすればこれを乗り越えることができますか....

スピナーに値を設定するためのコードは次のとおりです。

ArrayAdapter<PatientCaseList> adapter = new ArrayAdapter<PatientCaseList>(getApplicationContext(), android.R.layout.simple_spinner_item,caseList);
adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spinnerCaseNames.setAdapter(adapter);

Android 2.3.3でこのアプリケーションを使用するとオプションが正しく表示されますが、3.0では表示されません

4

2 に答える 2

1

スピナーのカスタムテーマを作成できます。例:

style.xml

<style name="TextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem">
    <item name="android:textColor">#000</item>
    <item name="android:textSize">10sp</item>
</style>

<style name="SpinnerItem" parent="android:Widget.TextView.SpinnerItem">
    <item name="android:textAppearance">@style/TextAppearanceSpinnerItem</item>
</style>

<style name="SpinnerTheme" parent="android:Theme">
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
</style>

次に、次のようなスピナーを持つアクティビティにカスタムテーマを適用します。

<activity
        android:name="MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@style/SpinnerTheme
        android:windowSoftInputMode="adjustResize|stateHidden" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

これがお役に立てば幸いです。

于 2013-03-14T11:51:00.727 に答える
1

各デバイスは、スピナーに独自のテーマを適用します。

組み込みのスピナーレイアウトを使用しないでください。独自のレイアウトを作成してください。

my_spinner_layout.xml

 <TextView  
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:textColor="#FF0000"         
        />

次に、

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_spinner_layout,list);
于 2013-03-14T11:58:54.383 に答える