当前位置: 首页 > 知识库问答 >
问题:

Android PreferenceFragment appcompat样式被忽略

公冶威
2023-03-14

我正在使用PreferenceActivity向布局中添加PreferenceFragments。PreferenceActivity使用带有父主题的自定义样式。AppCompat。光我更新了colorPrimary、colorPrimaryDark和colorAccent的NoActionBar。在Lollipop上,首选项屏幕按预期显示,使用适当的颜色和文本样式,但是在KitKat上,我使用的样式似乎完全被忽略。

起初,我认为问题在于PreferenceActivity扩展了Activity而不是AppCompatActivity,但我甚至尝试在我的preference Activity中使用AppCompatDelegate,但这没有帮助。为什么

共有1个答案

江恩
2023-03-14

我认为可以通过为对话框创建自定义样式来解决这个问题,然后使用dialogThemealertDialogTheme属性在基本应用程序主题中引用它。

<!-- Your base app theme -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        ...
       <item name="dialogTheme">@style/MyDialogStyle</item>
       <item name="alertDialogTheme">@style/MyDialogStyle</item>
</style>

<!-- Custom style for dialogs -->    
<style name="MyDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
            <item name="colorAccent">@color/accent_pink_a200</item>
            <item name="android:textColorPrimary">@color/white</item>
            <item name="android:textColorSecondary">@color/white</item>
            <item name="android:background">@color/primary_deepPurple_500</item>
            <item name="textColorAlertDialogListItem">@color/white</item>
            <item name="android:textAppearanceButton">@style/TextAppearance.Widget.AppCompat.Toolbar.Title</item>
</style>

您还可以根据需要在自定义样式中包含其他属性,如colBasiccolPrimaryBlack

 类似资料:
  • 作为开发人员,我使用以下endpoint:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate 并要求:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#AppendCells

  • 总NGINX初学者在这里。 我的日志目前如下所示: 92.21.236.47--[2017年1月8日:00:48:10 0000]“GET/HTTP/1.1”200 148“-”Mozilla/5.0(Windows NT 10.0;WOW64;rv:50.0)Gecko/20100101 Firefox/50.0” 当我在默认的/etc/nginx/nginx中添加以下行时。形态 (access

  • 我的文件似乎被Git忽略了-文件是否已损坏?Git期望哪种文件格式、区域设置或区域性? 我的: 的输出: 我希望和不出现在“未跟踪文件”列表中。 我应该从哪里开始寻找解决这个问题?

  • 我有以下控制器: 我启用了Spring Actuctor的endpoint,甚至可以看到被忽略的endpoint是可用的: 编辑我添加了一个拦截器,使我能够查看目标将是什么。 是正确的: 对于并不期望参数,但spring仍然因此抛出错误这一事实,我无法全神贯注。

  • 我使用常规StackPanel(在DataTemplate中)堆叠了一些TextBlock元素。 将其用作ContentControl的ContentTemplate时,布局将按预期显示。但是,如果我将DataTemplate用作ListView的ItemTemplate,就会忽略一些属性(TextLineBounds和Margin)。 在下面的截图中,我放置了一个ContentControl和一