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

如何使用自定义主题设置DialogPreference的样式?

车胤运
2023-03-14

在我的应用程序中,我使用了主题。全息和主题。全息。光没有任何问题。当全息主题被使用,我点击一个对话首选项/列表首选项,弹出的对话框也是全息主题。全息也一样。光。但是当首选项活动与我的自定义主题,这是从全息派生。光,所有对话都以全息为主题。光。我想我错过了一些东西在我的主题。有人能帮帮我吗?非常感谢!

这是我的主题代码:

  <?xml version="1.0" encoding="utf-8"?>

<!-- Generated with http://android-holo-colors.com -->
<resources xmlns:android="http://schemas.android.com/apk/res/android">

  <style name="GreenTheme" parent="android:Theme.Holo.Light">

    <item name="android:editTextBackground">@drawable/edit_text_holo_light</item>

    <item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewGreenTheme</item>

    <item name="android:listChoiceIndicatorMultiple">@drawable/btn_check_holo_light</item>

    <item name="android:listChoiceIndicatorSingle">@drawable/btn_radio_holo_light</item>

    <item name="android:buttonStyle">@style/ButtonGreenTheme</item>

    <item name="android:imageButtonStyle">@style/ImageButtonGreenTheme</item>

    <item name="android:dropDownSpinnerStyle">@style/SpinnerGreenTheme</item>

    <item name="android:tabWidgetStyle">@style/TabWidgetGreenTheme</item>

    <item name="android:progressBarStyleHorizontal">@style/ProgressBarGreenTheme</item>

    <item name="android:seekBarStyle">@style/SeekBarGreenTheme</item>

    <item name="android:buttonStyleToggle">@style/ToggleGreenTheme</item>

    <item name="android:listChoiceBackgroundIndicator">@drawable/list_selector_holo_light</item>

    <item name="android:activatedBackgroundIndicator">@drawable/activated_background_holo_light</item>

    <item name="android:fastScrollThumbDrawable">@drawable/fastscroll_thumb_holo</item>

    <item name="android:actionBarStyle">@style/ActionBar.Solid.Greenactionbar</item>

    <item name="android:buttonBarButtonStyle">@style/ButtonBarButtonStyleGreenTheme</item>

    <item name="android:preferenceStyle">@style/TimePickerDialogFragmentGreen</item>
  </style>

      <style name="TimePickerDialogFragmentGreen" parent="@android:style/Theme.Holo.Light.Dialog">
         <item name="android:editTextBackground">@drawable/edit_text_holo_light</item>

    <item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewGreenTheme</item>

    <item name="android:listChoiceIndicatorMultiple">@drawable/btn_check_holo_light</item>

    <item name="android:listChoiceIndicatorSingle">@drawable/btn_radio_holo_light</item>

    <item name="android:buttonStyle">@style/ButtonGreenTheme</item>

    <item name="android:imageButtonStyle">@style/ImageButtonGreenTheme</item>

    <item name="android:dropDownSpinnerStyle">@style/SpinnerGreenTheme</item>

    <item name="android:tabWidgetStyle">@style/TabWidgetGreenTheme</item>

    <item name="android:progressBarStyleHorizontal">@style/ProgressBarGreenTheme</item>

    <item name="android:seekBarStyle">@style/SeekBarGreenTheme</item>

    <item name="android:buttonStyleToggle">@style/ToggleGreenTheme</item>

    <item name="android:listChoiceBackgroundIndicator">@drawable/list_selector_holo_light</item>

    <item name="android:activatedBackgroundIndicator">@drawable/activated_background_holo_light</item>

    <item name="android:fastScrollThumbDrawable">@drawable/fastscroll_thumb_holo</item>

    <item name="android:actionBarStyle">@style/ActionBar.Solid.Greenactionbar</item>

    <item name="android:buttonBarButtonStyle">@style/ButtonBarButtonStyleGreenTheme</item>
    </style>
</resources>

共有2个答案

景俊语
2023-03-14

我有澄清的问题,但不能问他们,因为低利率。所以:
1.你的第一种风格正确吗?
2.你确定,主题@android:风格/主题。全息。光。对话框有所有项目,您在TimePickerDialogFragmentGreen中声明?例如:

<item name="android:tabWidgetStyle"> @style/TabWidgetGreenTheme</item>


三,。你试过卢卡申奥提出的想法吗

最后:我用类似的方法为我的编辑文本创建自定义样式:

 <style name="EditTextStyle" parent="@style/Indents">
 <item name="android:textColor">@android:color/black</item>
 <item name="android:background">@android:color/white</item>
 <item name="android:textColorHint">@android:color/darker_gray</item>
 <item name="android:textSize">14sp</item>
</style>
<style name="Indents" parent="@style/Margins">
    <item name="android:paddingBottom">@dimen/activity_vertical_padding</item>
    <item name="android:paddingTop">@dimen/activity_vertical_padding</item>
</style>
<style name="Margins">
    <item name="android:layout_marginTop">@dimen/activity_vertical_margin </item>
    <item name="android:layout_marginBottom">@dimen/activity_vertical_margin </item>
    <item name="android:layout_marginLeft">@dimen/activity_horizontal_margin </item>
    <item name="android:layout_marginRight">@dimen/activity_horizontal_margin </item>
</style>
廖绍辉
2023-03-14

我发现这是一个没有格式但很好的回答。

要点是,Dialog首选s是在没有主题参数的情况下创建的AlertDialogs,这意味着它们适用于任何主题android: alertDialogTheme指向的。

因此,我将我的主题扩展为以下主题:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="colorPrimary">@color/yellow_500</item>
        <item name="colorPrimaryDark">@color/yellow_a700</item>
        <item name="colorAccent">@color/purple_400</item>
        <item name="android:alertDialogTheme">@style/DialogTheme</item>
    </style>

    <style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
        <item name="colorPrimary">@color/yellow_500</item>
        <item name="colorPrimaryDark">@color/yellow_a700</item>
        <item name="colorAccent">@color/purple_400</item>
        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
    </style>

</resources>

AppTheme中的colorPrimarycolorPrimaryDarkcolorAccent也是我想要应用到对话框中的颜色。

请注意,我需要android:windowMinWidthMinor来防止对话框水平折叠。

 类似资料:
  • 问题内容: 我想在基于类的我自己的组件的某些部分中使用主题。我什么都做不了,文档中的所有示例都是针对功能组件的。基本上,主题是定义好的,我想用它来设置自己的组件样式,这样我就可以避免重复自己并在更高级别上更改代码,并且该代码随处可见。 我的App.js 我的问题文件Nav.js 问题答案: 您不能与类组件一起使用。返回一个只能在功能组件中使用的自定义钩子。对于类组件,可以使用withStyles来

  • 自定义主题是由用户自己设置的主题,可设置背景色和图表轴线、标题、提示框等颜色。方便个性化定制配色主题。 点击配色/主题区下“新建主题”按钮,进入自定义主题编辑页。 通过点击颜色框可修改各类颜色,图表左侧区可以修改图表色系,图表色系分为“分类色”和“序列色”。 分类色:相互独立的颜色,每个色块单独设置。色块数量可以增删。 序列色:相互关联的过渡色,只需设置首尾两个颜色,系统会自动计算中间过渡色。 所

  • 问题内容: 我想用自己的自定义样式扩展 Sphinx 和 ReadTheDocs 使用的主题。 为了做到这一点,最好的方法是什么? 问题答案: 假设条件 您的RTD文档集具有以下结构: (根路径) (一些其他与本讨论无关的东西) 您也正在使用或使用默认主题在本地进行构建,但是部署的服务器可能会使用。 用例:Hatnotes 对于此插图,我将展示如何为“ hatnotes”创建自定义样式,该概念在M

  • 现在我如何(以及在哪里)定义这些规则,以便SCSS编译器自动接受更改?否则,每次编译主题时,我所做的更改都会丢失。 问候

  • 我正在使用MPAndroidChart显示一个相对简单的条形图。 有2件事我需要设置,我不知道如何自定义: > 我需要为每个条添加文本,而不是简单的值,每个条本身也有样式。 在每个条的顶部,我需要放置各种类型的可绘制材料来覆盖它的宽度(例如一个条中高度为2dp的蓝色,或另一个条上高度相同的黄色渐变)。 下面是我需要做的一个演示: > 我知道我也可以通过使用添加图标,但这似乎不适用于应该使用整个条形

  • 打开主题配置 选一个自己喜欢的主题吧