Android AppCompat 深色主题设置复选框

标签 android android-support-library

我已将支持库中的 AppCompat 库升级到 v21。使用深色主题 (@style/Theme.AppCompat) 时,SettingsActivity 中的复选框是黑色的,因此您甚至看不到它们。

这是更新前的:

enter image description here

这是更新后的:

enter image description here

应用中其他地方的复选框都没有问题。如何修复 SettingsActivity 中的问题?

最佳答案

我使用 this page 上的解决方案解决了这个问题通过将代码复制到我的项目中来创建兼容的 PreferenceFragment 类。然后,我用一个继承自 ActionBarActivity 的类替换了我以前的 PreferenceActivity,并实例化了一个从新的 PreferenceCompatFragment 类派生的 Fragment 类。这现在可以很好地显示我的偏好,带有预期颜色的操作栏以及正确重音的复选框。这是我的新设置 Activity 的代码:

public class SettingsFragActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FrameLayout frame = new FrameLayout(this);
    frame.setId(R.id.content);
    setContentView(frame);
    this.getSupportFragmentManager().beginTransaction()
            .replace(R.id.content, new SettingsFragment (), null).commit();
    }


public static class SettingsFragment extends PreferenceCompatFragment {
    @Override
    public void onCreate(Bundle paramBundle) {
        super.onCreate(paramBundle);
        addPreferencesFromResource(R.xml.prefs);
    }
}

请注意,addPreferencesFromResource 属于自定义 PreferenceFragment 类。

关于Android AppCompat 深色主题设置复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27091845/

相关文章:

android - 真的很困惑 setPreviewCallback 在 Android 中,需要建议

android - 大布局影响 Galaxy Note

android - 在 Android 上单击后退按钮期间调用的函数

android - 如何为设计支持库的 NavigationView 设置样式?

android - 在 Android Studio 中将项目添加为库

java - Android WebView onPageFinished BUG

android - 升级到Android Studio后出现异常 141.1972460

android - Snackbar.setCallback()在Android AppCompat中无法解析

device - 我的应用程序不支持 Penta 选项卡

android - Google 的 BottomSheet 出现在屏幕顶部