2016-04-26 61 views
0

我有以下的微调XML代码:更改微调文本颜色在java代码/ android?

<Spinner 
    android:id="@+id/spinnerMain" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="30dp" 
    android:layout_weight="0.40" 
    android:textColor="@color/black" 
    android:background="@drawable/rounded_white_rectangle"/> 

和下面的Java代码:

公共无效setMainCategories(字符串[] mainCategories){

ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, mainCategories); 
    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinnerMain.setAdapter(spinnerArrayAdapter); 

} 

@Override 
public void setSubcategories(String[] subCategories) { 
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, subCategories); 
    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinnerSub.setAdapter(spinnerArrayAdapter); 

,我不知道如何更改文本的java代码以更改颜色。

你有什么建议吗? 将不胜感激。

+0

是否要更改下拉菜单或选中的文本的颜色? –

+0

你需要实现一个自定义适配器 – Skynet

+0

我需要微调器中的每个文本都是黑色的,主要类别是黑色。谢谢 – ti3kto3k

回答

0

为您的微调项目制作一个自定义XML文件。

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

希望它会帮助你:)

1

您可以通过更改样式的微调下拉项的外观:

添加样式XML并使用内置Android属性:

<style name="mystyle"> 
    <item name="android:spinnerDropDownItemStyle">@style/spinner_drop_item_style</item> 
</style> 
<style name="spinner_drop_item_style"> 
    <item name="android:textAppearance">?android:attr/textAppearanceLarge</item> 
    <item name="android:textColor">@color/black</item> 
    <item name="android:paddingLeft">8dp</item> 
    <item name="android:gravity">center_vertical|start</item> 
    <item name="android:orientation">vertical</item> 
    <item name="android:background">@drawable/apptheme_list_selector</item> 
</style> 

根据您的用例,像@Jhaman提出的自定义视图可能是更简单的解决方案。

编辑:你也应用风格莫名其妙的视图或应用程序。 documentation很好地解释了这一点,但所有的Style系统和各种属性都没有被很好地描述。