1

デフォルトのスピナーを使用しています

<Spinner
  android:id="@+id/mySpinner"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"

ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getApplicationContext(), 
    android.R.layout.simple_spinner_item);

spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
((Spinner)findViewById(R.id.mySpinner)).setAdapter(spinnerAdapter);

どうして要素が白い背景と前景色の灰色になっているのですか?それは私には奇妙に思えます...

4

2 に答える 2

2

これは古い質問であることはわかっています。これは、他の人がここに回答を求めるのに役立つかもしれません。基本的には、ここでアプリケーション コンテキストを使用しているためです。アプリケーション コンテキストを使用すると、基本テーマがレイアウトに適用され、アクティビティのテーマには適用されないため、色が白になります。

詳細はリンクでよく説明されています:スピナーのテキストの色は白ですか? そしてここ

元の質問に対する回答を提供してくれたcommonswareに感謝します。

于 2014-08-31T20:21:01.837 に答える
1

その理由は、で設定したためですandroid.R.layout.simple_spinner_item

独自の Adapter クラスを作成できます。

Spinner spinner = (Spinner) findViewById(R.id.mySpinner);
spinner.setAdapter(new MyCustomAdapter(CLASS.this, R.layout.spinner_layout, spinnerAdapter));

すると、 で設計したようになりますspinner_layout

于 2012-08-25T11:48:07.843 に答える