1

我目前正在使用包含在android.support.v7包中的動作欄添加動作欄功能到我的應用程序。我在添加導航微調器時遇到了一個問題。當應用程序在Honecomb之前的設備上運行時,微調器中的文本顯得太暗而不易讀取,單選按鈕與文本一起出現。我在我的values/styles.xml中定義的Honecomb之前使用了Theme.AppCompat主題,這是一個黑暗主題,但不知何故主題未正確應用於Action Bar微調器。 這裏是微調器初始化的代碼。動作欄微調不匹配樣式,黑色微調文本

ActionBar actionBar = getSupportActionBar(); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
actionBar.setDisplayShowTitleEnabled(false); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
    actionBar.getThemedContext(), 
    android.R.layout.simple_spinner_dropdown_item, 
    android.R.id.text1, stringArrayGoesHere()); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
actionBar.setListNavigationCallbacks(adapter, null); 

我聽到的替代庫,如操作欄福爾摩斯,但我沒有興趣使用它們的時刻。

謝謝

回答

4

我也同時使用客戶的主題和解決方案是創建02 XML文件進行微調文字和微調下拉列表的文本seperately遇到同樣的問題。我想你可能會爲你的情況做同樣的事情。

這是微調的文本:(我使用全息暗行動起來吧)

actionbar_spinner.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:padding="7dp" 
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium.Inverse" 
android:textColor="#FFFFFF" 
android:textStyle="italic" /> 

這是下拉列表的文本:

actionbar_spinner_dropdown.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_vertical" 
    android:height="40dp"  
    android:paddingLeft="7dp" 
    android:textSize="18sp" 
    android:textColor="#0099CC" /> 

然後你可以把這些xml放在你的代碼中,例如:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(
    actionBar.getThemedContext(), 
    R.layout.actionbar_spinner, 
    android.R.id.text1, stringArrayGoesHere()); 
adapter.setDropDownViewResource(R.layout.actionbar_spinner_dropdown); 
actionBar.setListNavigationCallbacks(adapter, null); 

希望它可以幫助..