我正在使用我正在使用Spinner
并且背景颜色为黑色的演示应用程序,因此Spinner选择的项目颜色默认为黑色,因此它不可见。
我希望通过xml或更新样式将此颜色更改为白色,以便黑色可见。
<Spinner
android:id="@+id/countrySpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:hint="@string/country" />
有什么办法吗?提前谢谢。
答案 0 :(得分:5)
尝试在OnItemSelectedListener中处理此问题。我认为以下内容应该有效。它获取所选项目的视图,在其中查找TextView(Spinner视图具有id为text1的TextView子项),并设置其颜色。
mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View view,
int position, long id) {
TextView tmpView = (TextView) mySpinner.getSelectedView().findViewById(android.R.id.text1);
tmpView.setTextColor(Color.WHITE);
}
public void onNothingSelected(AdapterView<?> arg0) {
// do stuff
}
});
答案 1 :(得分:0)
在res / values / styles.xml中设置样式:
<style name="mySpinner" parent="@android:style/Widget.Holo.Dark.ProgressBar" />
并在您的Spinner上引用此样式:
<Spinner style="@style/mySpinner" ... />
父样式Widget.Holo.Dark.ProgressBar可以为您提供适合深色背景的微调器。
有关样式的信息,请参阅https://developer.android.com/guide/topics/resources/style-resource.html。您可以嗅探SDK res /文件夹以了解内置样式。