gpt4 book ai didi

android - 为什么 androidx.preference 库会阻止我的自定义复选框正常显示?

转载 作者:行者123 更新时间:2023-11-30 05:02:33 25 4
gpt4 key购买 nike

我决定将我的选项 Activity 更新为 androidx.preference。所以我添加了 implementation 'androidx.preference:preference-ktx:1.1.0'对我的依赖。但是,现在我的应用中其他地方的自定义复选框不再使用提供给它们的自定义按钮,而只使用默认复选框。(注意:这只发生在运行 Android 4.4 或更低版本的设备上)

删除 implementation 'androidx.preference:preference-ktx:1.1.0'解决了这个问题。有谁知道为什么会发生这种情况以及我该如何克服它?


在 Activity 布局中:

 <androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/cbSharePosition"
style="@style/ActionCenter.Light.CheckBox"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="16dp"
android:checked="true"/>

在 style_widgets.xml 中:

<style name="ActionCenter.Light.CheckBox" parent="android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/actioncenter_switch_button</item>
<item name="android:background">@color/transparent</item>
<item name="android:scaleType">centerInside</item>
<item name="android:adjustViewBounds">true</item>
</style>

actioncenter_switch_button.xml:

   <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/switch_on"
android:state_checked="true" />

<item android:drawable="@drawable/switch_off"
android:state_checked="false" />

<item android:drawable="@drawable/switch_on" />
</selector>

最佳答案

这似乎是 1.1.0 版本的 Appcompat 库中的问题。您可以使用 buttonCompat 属性代替 button 一切都应该正常。

你可以替换:

<item name="android:button">@drawable/actioncenter_switch_button</item>

与:

<item name="buttonCompat">@drawable/actioncenter_switch_button</item>

After migration to AndroidX android:button is not respected for API below Lollipop

关于android - 为什么 androidx.preference 库会阻止我的自定义复选框正常显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57993322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com