2016-04-26 5 views
0

私は、次のスピナーのXMLコードがあります。Javaコード/アンドロイドでスピナーテキストの色を変更しますか?

<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コード:

ます。public void setMainCategories(String []型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のようなカスタムビューが簡単な解決策になるかもしれません。

EDIT:ビューやアプリケーションに何らかの形でスタイルを適用しました。 documentationはこれを説明するのには良いですが、すべてのスタイルシステムとさまざまな属性はそれほどよく説明されていません。

関連する問題