2016-06-10 291 views
1

说明: 我在我的activity中的工具栏上有微调控件。在onCreateOptionMenu()方法中的menu.xml中添加了这个控件。我将数据设置到微调控件中。如何在设置微调控件时更改微调控件的文本颜色从android的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; 
} 

如何更改微调文字的颜色?默认颜色是黑色。

请帮我解决这个问题。

+1

您可以使用内自己的布局,而不是android.R.layout.simple_spinner_item与TextView的,并可以设置文字的颜色有。 –

+0

但问题是我如何更改像弹出窗口样式的微调的背景? –

+0

将背景添加到textview –

回答

3

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在微调器中显示您的项目。

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

0

创建您layout指定t extcolor &使用您自己的布局而不是android.R.layout.simple_spinner_item

0

看看我的榜样,变更微调弹出后台使用

“机器人:popupBackground =” @安卓:彩色/ holo_green_dark”

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

    } 
} 

输出 custom toolbar with custom spinner

相关问题