说明: 我在我的activity中的工具栏上有微调器小部件。它是从onCreateOptionMenu()方法的menu.xml中添加的。我将数据设置到微调器中。如何从menu.xml文件设置微调器时更改微调器文本颜色在android?
这是我的menu.xml文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/spinner"
android:title="@string/spinner"
app:actionViewClass="android.widget.Spinner"
app:showAsAction="always" />
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
</menu>
这是我的MainActivity.java,而我得到了menu.xml项目
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem item=menu.findItem(R.id.spinner);
Spinner spinner_month=(Spinner) MenuItemCompat.getActionView(item);
adapter_month=new SpinnerAdapter(getApplicationContext(),android.R.layout.simple_spinner_item ,months_list);
spinner_month.setAdapter(adapter_month);
return true;
}
如何更改微调器文本的颜色?默认颜色为黑色。
请帮我解决这个问题。
答案 0 :(得分:4)
<强> spinner_item.xml:强>
为此文件中的文字提供自定义颜色和尺寸。
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:gravity="left"
android:textColor="#FF0000"
android:padding="5dip"
/>
现在使用此文件显示您的微调器项目,如:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);
您无需设置下拉资源。只需要使用spinner_item.xml在spinner中显示您的项目。
答案 1 :(得分:0)
您可以为ID为my_spinner_item
的微调器项目定义自己的布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:gravity="left"
android:textColor="#FF0000"
android:padding="5dip"
/>
然后像这样创建微调器对象:
adapter_month=newSpinnerAdapter(getApplicationContext(),
android.R.layout.my_spinner_item ,months_list);
在您的资源xml罚款my_spinner_item.xml
中,您现在可以使用android:textColor
答案 2 :(得分:0)
使用指定textcolor&amp;创建你layout
使用您自己的布局而不是android.R.layout.simple_spinner_item
。
答案 3 :(得分:0)
查看我的示例和更改微调框弹出背景使用此
&#34;机器人:popupBackground =&#34; @android:颜色/ holo_green_dark&#34;
custom_toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:minHeight="?attr/actionBarSize">
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:popupBackground="@android:color/holo_green_dark" />
</android.support.v7.widget.Toolbar>
spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:padding="5dip"
android:textColor="@color/colorPrimary"
android:textSize="20sp" />
MainActivity.java
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
String[] list=new String[]{"Android","iPhone","Windows"};
private ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.spinner);
// change spinner item layout.
adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);
spinner.setAdapter(adapter);
}
}