2016-04-26 2 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:

общественные пустоты 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

Вы можете изменить внешний вид выпадающих предметов в Spinner через Стили:

Добавить 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 хорошо объясняет это, но в целом система стиля и различные атрибуты не так хорошо описаны.

Смежные вопросы