我一直试图解决这个问题3个小时,但没有找到任何答案。这是我的v21 \ styles.xml代码。在这里更改操作栏的displayOptions有效,但似乎没有任何更改文本的颜色!如何更改PreferenceActivity中操作栏文本的颜色
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@color/colorBackground</item>
<item name="android:alertDialogTheme">@style/MyDialogTheme</item>
<item name="android:color">@color/colorSecondary</item>
</style>
<style name="PreferencesTheme" parent="AppTheme">
<item name="android:textColorPrimary">@color/colorSecondary</item>
<item name="android:textColorSecondary">@color/colorSecondaryFaded</item>
<item name="android:listSeparatorTextViewStyle">@style/ListSeparatorText</item>
<item name="colorControlNormal">@color/colorSecondary</item>
<item name="actionBarStyle">@style/ActionBarTheme</item>
</style>
<style name="ListSeparatorText" parent="android:Widget.TextView">
<item name="android:background">@color/colorBackgroundLight</item>
<item name="android:color">@color/colorBackgroundLight</item>
</style>
<style name="ActionBarTheme" parent="Widget.AppCompat.Light.ActionBar.Solid">
<item name="displayOptions">showHome|homeAsUp|showTitle</item>
<item name="android:textColorPrimary">@color/colorSecondary</item>
<item name="android:titleTextAppearance">@style/ActionBar.Title</item>
</style>
<style name="ActionBar.Title">
<item name="android:textColorPrimary">@color/colorSecondary</item>
</style>
而我的设置活动onCreate,如果这是有帮助的。
public class SettingsActivity extends AppCompatPreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupActionBar();
getFragmentManager().beginTransaction().replace(android.R.id.content,
new GeneralPreferenceFragment()).commit();
}
/**
* Set up the {@link android.app.ActionBar}, if the API is available.
*/
private void setupActionBar() {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
// Show the Up button in the action bar.
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
您是否在API级别21及以上版本上运行?如果没有,你需要API级别的样式<21 – danypata
是的,我在API 23上运行。谢谢我应该提到这一点。 –