在android微调器上将文本颜色更改为选定项

agyaoht7  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(312)

我有一个旋转器,它有黑色的所有选项。我想要的是将活动中显示的所选项目更改为白色,而不是在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.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
     public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
         // Your code here
     } 

     public void onNothingSelected(AdapterView<?> adapterView) {
         return;
     } 
});

但我真的不知道如何把它应用到我想要的东西上。请帮忙!!

8oomwypt

8oomwypt1#

创建自定义布局 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

a11xaf1n

a11xaf1n2#

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;
       } 
 });

相关问题