ami*_*788 34 android android-spinner
如何在微调器中更改所选项的字体颜色?
我可以更改所选项目的背景颜色,下拉项目的颜色等,但不能更改所选项目的文本颜色...我该怎么做?
我的代码是:这是我正在使用的微调器 - :
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="32dip"
android:background="@drawable/mybg"
android:divider="@drawable/list_divider"
android:drawSelectorOnTop="true"
android:popupBackground="#D3D5D3"
android:prompt="@string/activityy_prompt"
/>
Run Code Online (Sandbox Code Playgroud)
这是mybg.xml
<!-- <item android:drawable="@drawable/blue" android:state_pressed="false"/> -->
<!-- <item android:drawable="@drawable/back11"/> -->
<item android:drawable="@drawable/greenyellow1" android:state_focused="true" android:state_pressed="false"/>
<item android:drawable="@drawable/greenyellow1" android:state_focused="true" android:state_pressed="true"/>
<item android:drawable="@drawable/greenyellow1" android:state_focused="false" android:state_pressed="true"/>
<item android:drawable="@drawable/greenyellow1" android:state_selected="true"/>
<item android:drawable="@drawable/back11"/>
Run Code Online (Sandbox Code Playgroud)
使用这些我无法改变selecetd项目的文字颜色......
小智 64
定义OnItemSelectedListener
如下:
private AdapterView.OnItemSelectedListener listener = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
};
Run Code Online (Sandbox Code Playgroud)
然后设置OnItemSelectedListener
为spinner
这样:
spinner.setOnItemSelectedListener(listener);
Run Code Online (Sandbox Code Playgroud)
小智 15
绘制/ mybg:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true">
<color android:color="@color/black" />
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
这将更改弹出窗口中的所选项目颜色.
小智 15
尝试在OnItemSelectedListener中实现onItemSelected,以更改微调器选定项的文本颜色
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
int index = adapterView.getSelectedItemPosition();
((TextView) spinner.getSelectedView()).setTextColor(getResources().getColor(R.color.Blue)); //<----
Run Code Online (Sandbox Code Playgroud)
小智 13
您可以通过添加OnItemSelectedListener
到更改选定的文本颜色spinner
qtySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) view).setTextColor(Color.BLACK); //Change selected text color
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
Run Code Online (Sandbox Code Playgroud)
使用选择器作为文本颜色.
在drawable中创建color_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#000000" /> <!-- pressed -->
<item android:state_focused="true"
android:color="#000000" /> <!-- focused -->
<item android:color="#FFFFFF" /> <!-- default -->
</selector>
Run Code Online (Sandbox Code Playgroud)
并在textview中
<TextView
android:textColor="@drawable/color_selector"/>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
66452 次 |
最近记录: |