2012-11-19 30 views
1

使用操作欄Sherlock時,有任何方法可以更改ActionBar列表導航的文本顏色嗎?我發現了幾個改變標題顏色的帖子,但是如果之前有人問過這個帖子,那麼就不好說了。操作欄Sherlock列表導航文本顏色

在常規操作欄上工作正常,但是當設備預蜂窩狀時,文本是黑色的黑色,使其無法讀取。

+0

有你正確設置主題設置PLZ添加一些片段,所以我們?可以知道你所嘗試過的。 – Swapnil

回答

0
//in arrays.xml 
    <string-array name="solidsFoodSelectionType"> 
     <item>recent</item> 
     <item>all</item> 
    </string-array> 

//in your class 
Context context = getSupportActionBar().getThemedContext(); 
     String[] typeOfselectionSelected = getResources().getStringArray(R.array.solidsFoodSelectionType); 
     typeOfselectionSelectedAdapter = new ArrayAdapter<String>(context,android.R.layout.simple_spinner_dropdown_item,typeOfselectionSelected); 
     getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
     getSupportActionBar().setListNavigationCallbacks(typeOfselectionSelectedAdapter, this); 
1

我知道你想改變文字顏色。我假設這是因爲黑色文字或黑色文字上的深灰色文字。

如果是這樣,我發現有這個問題上深色文本

區分黑暗中,當你聲明你SpinnerAdapter使用前的蜂窩設備的修復:R.layout.sherlock_spinner_item或R.layout.sherlock_spinner_dropdown_item

這對我來說固定預蜂窩設備結合相同的主題後蜂窩設備。

SpinnerAdapter adapter = ArrayAdapter.createFromResource(this, R.array.navigationArray, R.layout.sherlock_spinner_dropdown_item); 
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
getSupportActionBar().setListNavigationCallbacks(adapter, this); 

來源:https://github.com/JakeWharton/ActionBarSherlock/issues/268

+0

我使用了R.layout.sherlock_spinner_dropdown_item。現在文本可以正常讀取,但它稍小一點,但可以手動設置樣式,所以... :) – AgentKnopf

0

您需要創建自己的例子custom_spinner_item

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" /> 

,然後在下拉資源custom_spinner_dropdown_item

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerDropDownItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/dropdownListPreferredItemHeight" 
    android:ellipsize="marquee" /> 

你需要改變sytle爲您擁有或採取行動吧sherlock並修改。一則在適配器中使用:;

Context context = getSupportActionBar().getThemedContext(); 
     ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(context, R.array.locations, custom_spinner_item); 
     list.setDropDownViewResource(R.layout.custom_spinner_dropdown_item); 

這樣,你就完成) 這應該是預先蜂窩使用:

Context context = getSupportActionBar().getThemedContext(); 
     ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(context, R.array.locations, R.layout.sherlock_spinner_item); 
     list.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);