Checkbox和API 23的问题

时间:2019-06-27 02:40:42

标签: c# android xamarin mvvmcross

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

如果我将我的复选框初始化为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和模式发布的设备上发生,并且在调试时工作正常。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

好吧,几个小时后,我不得不将我的 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类。这是我找到的唯一解决方案。