复选框的问题和 API 23

Issue with Checkbox's and API 23

将目标平台更新为 android 9.0 API 后,我对 AppCompatCheckBox 的状态及其在框中显示的颜色和 api 23 有疑问28.

如果我将我的复选框初始化为 true,它会正确显示支票 checkbox initial

但是,如果我取消选中该框,它会显示带有我的原色边缘的空白框check它应该是灰色边框,白色背景。

当你检查时,这看起来很糟糕 unchecked 它应该是粗线和蓝色背景。

我以编程方式构建复选框

var checkBox = new AppCompatCheckBox(Context));
checkBox.checked = MyObj.Value;
AddView(checkBox);

在我的风格中,我定义了颜色

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDarker</item>
    <item name="colorAccent">@color/colorPrimaryDarker</item>
</style>

我正在使用包 nuget Xamarin.Android.Support.v7.AppCompat 版本 28.0.0.1 和 MvvmCross 6.3.0

这只发生在 API 23 和模式发布的设备上,调试工作正常。

感谢您的帮助。

好吧,几个小时后,我不得不将 proguard.cfg 文件更改为:

 -keep class com.google.android.gms.** { *; }
 -dontwarn com.google.android.gms.**
 -keep class android.support.** { *; }
 -keep class android.support.v7.widget.AppCompatCheckBox { *; }

直接放置我的 appcompatcheckbox class。这是我找到的唯一解决方案。