【问题标题】:Android Studio with AndroidX Preferences fails Preview Window带有 AndroidX 首选项的 Android Studio 无法预览窗口
【发布时间】:2019-06-03 11:11:19
【问题描述】:

我尝试在没有任何自定义样式的情况下使用 PreferencesFragmentCompat,但 IDE 预览窗口显示一些渲染错误和主题错误,具有基本配置:

settings.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <PreferenceCategory app:title="Sensor settings">

        <EditTextPreference
            android:inputType="text"
            app:icon="@android:drawable/ic_menu_save"
            app:key="@string/key_setting_dname"
            app:summary=""
            app:title="Station Name" />

        <SwitchPreference
            app:defaultValue="false"
            app:key="@string/key_setting_enable_reboot"
            app:summary="@string/summary_reboot"
            app:title="Enable WiFi Connection" />

    </PreferenceCategory>


    <PreferenceCategory app:title="Dedicated WiFi Connection">

        <EditTextPreference
            android:inputType="text"
            app:icon="@android:drawable/ic_lock_lock"
            app:key="@string/key_setting_ssid"
            app:summary=""
            app:title="WiFi Name" />

        <EditTextPreference
            android:inputType="textWebPassword"
            android:password="true"
            app:key="@string/key_setting_pass"
            app:summary="WiFi password"
            app:title="Password" />

        <SwitchPreference
            app:defaultValue="false"
            app:key="@string/key_setting_enable_wifi"
            app:summary="@string/summary_wifi"
            app:title="Enable WiFi Connection" />

    </PreferenceCategory>

</PreferenceScreen>

styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Base.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>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

有了它,我得到了下一个错误:

我修复了这些问题,添加了一些样式扩展

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Base.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="preferenceTheme">@style/PreferenceStyle</item>
    </style>

    <style name="PreferenceStyle" parent="@style/PreferenceThemeOverlay.v14.Material">
        <item name="preferenceCategoryStyle">@style/CustomPreferenceCategory</item>
    </style>

    <style name="CustomPreferenceCategory" parent="@style/Preference.Category">

    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

但有了它,我得到了旧的标题样式偏好

我的目标是拥有没有自定义样式和 IDE 预览错误的最后一个样式,就像这样

【问题讨论】:

    标签: android android-support-library android-preferences androidx


    【解决方案1】:

    这是 Studio 渲染中的一个问题,有关详细信息,请参阅 https://issuetracker.google.com/issues/131618217。我想你可以改变

    <style name="CustomPreferenceCategory" parent="@style/Preference.Category">
    

    <style name="CustomPreferenceCategory" parent="@style/Preference.Category.Material">
    

    使用最新的布局,并保持工作室渲染正常工作。

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 2021-09-15
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多