我试图在我的布局中 使用复式字节元素的样式 。
由于我想要不同活动的风格一致, 我创造了一个自定义的主题, 我应用在货单上。
样式. xml 文件看起来像 :
<style name="LightTheme" parent="@android:style/Theme.NoTitleBar">
.
.
<item name="android:checkboxStyle">@style/CustomCheckBox</item>
.
.
</style>
.
.
<style name="CustomCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/btn_check_selector</item>
<item name="android:textColor">@color/mainTextColorLight</item>
<item name="android:textSize">15dp</item>
</style>
.
.
选择器与 SDK 中找到的复选框选择器基本相同, 看上去是这样 :
<!-- Enabled states -->
<item android:state_checked="true" android:state_window_focused="false"
android:state_enabled="true"
android:drawable="@drawable/btn_check_on" />
<item android:state_checked="false" android:state_window_focused="false"
android:state_enabled="true"
android:drawable="@drawable/btn_check_off" />
<item android:state_checked="true" android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/btn_check_on_pressed" />
<item android:state_checked="false" android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/btn_check_off_pressed" />
<item android:state_checked="true" android:state_focused="true"
android:state_enabled="true"
android:drawable="@drawable/btn_check_on_focused" />
<item android:state_checked="false" android:state_focused="true"
android:state_enabled="true"
android:drawable="@drawable/btn_check_off_focused" />
<item android:state_checked="false"
android:state_enabled="true"
android:drawable="@drawable/btn_check_off" />
<item android:state_checked="true"
android:state_enabled="true"
android:drawable="@drawable/btn_check_on" />
<!-- Disabled states -->
<item android:state_checked="true" android:state_window_focused="false"
android:drawable="@drawable/btn_check_on_disabled" />
<item android:state_checked="false" android:state_window_focused="false"
android:drawable="@drawable/btn_check_off_disabled" />
<item android:state_checked="true" android:state_focused="true"
android:drawable="@drawable/btn_check_on_disabled_focused" />
<item android:state_checked="false" android:state_focused="true"
android:drawable="@drawable/btn_check_off_disabled_focused" />
<item android:state_checked="false" android:drawable="@drawable/btn_check_off_disabled" />
<item android:state_checked="true" android:drawable="@drawable/btn_check_on_disabled" />
选择器存储在我的项目的可绘图文件夹中, 密度特定资源存储在可绘图文件夹中 {l\\\\\\\\\\\\\\\\\\\\\\\dpi} dpi 文件夹中 。
奇怪的是,这在很长一段时间里非常有效。 但是今天, 它突然停止工作了。 复选框元素现在出现了, 没有框块。 只有文本是可见的 。
所有其他自定义的自定义元素都按原意工作, 而 CheckBox 则显示这种奇怪的行为 。
我试图直接将该样式应用到 xml 的复选框中, 没有运气 。 也做了通常的清理工程 。 我唯一能让它工作的办法是将选择器复制到我工程中的所有可绘制文件夹 {l\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\所有可绘制文件夹。 我感到没有必要在每个可绘制的文件夹中都有选择器,,, 并且肯定不需要我的其他自定义的其他自定义选择器。
有人能发现我的代码有明显缺陷吗?