2016-04-26 63 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系統和各種屬性都沒有被很好地描述。