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.

您可以编写自己的适配器类:

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 回答