将 Android 微调器上所选项目的文本颜色更改为
Change text color to selected item on Android Spinner
我有一个微调器,它的所有选项都是黑色的。
我想要的是将 activity 中显示的所选项目更改为白色,但不在 dropDownView 中,它必须让所有东西都变成黑色,就在它显示为所选项目时,我想要它白.
我的微调器:
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
我的xml:
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="34dp"
android:layout_marginTop="30dp"
android:background="@drawable/border_thicker" />
我知道spinner有这个方法
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
// Your code here
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});
但我真的不知道如何将它应用到我想要的东西上。
请帮忙!!
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
((TextView)parent.getChildAt(0)).setTextColor(Color.parseColor("#FFFFFF"));
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});
创建一个自定义布局,比如说 spinner_item.xml
,使用简单的 TextView
和白色文本颜色
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white">
</TextView>
然后将微调器布局设置为新的自定义项:
ArrayAdapter<Integer> adapter = new ArrayAdapter<>(this, R.layout.spinner_item, myList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
无需更改 setOnItemSelectedListener
中的任何内容
我有一个微调器,它的所有选项都是黑色的。 我想要的是将 activity 中显示的所选项目更改为白色,但不在 dropDownView 中,它必须让所有东西都变成黑色,就在它显示为所选项目时,我想要它白.
我的微调器:
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
我的xml:
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="34dp"
android:layout_marginTop="30dp"
android:background="@drawable/border_thicker" />
我知道spinner有这个方法
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
// Your code here
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});
但我真的不知道如何将它应用到我想要的东西上。 请帮忙!!
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
((TextView)parent.getChildAt(0)).setTextColor(Color.parseColor("#FFFFFF"));
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});
创建一个自定义布局,比如说 spinner_item.xml
,使用简单的 TextView
和白色文本颜色
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white">
</TextView>
然后将微调器布局设置为新的自定义项:
ArrayAdapter<Integer> adapter = new ArrayAdapter<>(this, R.layout.spinner_item, myList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
无需更改 setOnItemSelectedListener