Action Bar Sherlock列出导航文本颜色

时间:2012-11-19 16:18:25

标签: android actionbarsherlock

使用Action Bar Sherlock时,有没有办法更改ActionBar列表导航的文本颜色?我找到了几个关于改变标题颜色的帖子,但是如果之前被问过,那么就没什么可抱的。

在常规操作栏上正常工作,但在蜂窝前的设备上,黑色的文字是黑色的,这使得它不可读。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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);

答案 2 :(得分: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" />

你需要改变自己的风格,或者采取动作栏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);