2

Android ICS (Holo.Light テーマ) のスピナーのテキストの色に問題があります。問題は、背景色が薄い灰色で、文字色が白で、文字が見えないことです。

スタックオーバーフローを見ると、スピナーがドロップダウンの場合はテキストの色を変更する方法が見つかりましたが、スピナーがドロップダウンでない場合は色を変更できません。

Android: textColor にタグ付けしようとしましたが、機能しません。私が使用するコードはhttp://developer.android.com/guide/topics/ui/controls/spinner.htmlです

ありがとう!

ここに画像の説明を入力

4

5 に答える 5

5

Spinner のアダプターを設定するときはいつでも、私が推測する TextView の ResourceID を渡しています。そのため、レイアウト xml でその TextView のフォントの色を変更すると、これが解決されます。

于 2012-08-30T09:26:34.390 に答える
2

DialogFragment 内にスピナーを配置しているときに、同じ問題が発生しました。「this」をコンテキストとして使用できなかったので、アプリケーション コンテキストを使用しました。これにより、スピナーに灰色の背景に白いテキストが表示されました。

ArrayAdapter<String> adapter = new ArrayAdapter(mApplication, android.R.layout.simple_spinner_item, spinnerOptions);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

私のアクティビティが Theme_Holo_Light_Dialog スタイルを使用していたために白いテキストが発生しましたが、スピナーはそれを認識していませんでした。コンテキストをmApplicationからgetActivity()に変更することで、スピナーはビューを拡張するときに Theme_Holo_Light_Dialog を使用することを認識できるようになりました。

ArrayAdapter<String> adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_spinner_item, spinnerOptions);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

これで、灰色の背景に黒いテキストが表示されます。

于 2013-04-05T00:20:05.103 に答える
2

これを試して。これにより、ビューの色が変わります。何か問題があれば、もう一度尋ねてください。

                    Spinner spinner = (Spinner)findViewById(R.id.my_spinner);
        TextView tv = (TextView) spinner.getSelectedView();
        tv.setTextColor(Color.BLACK);
于 2012-08-30T09:58:16.870 に答える