复选框可绘制,额外的drawableLeft彼此重叠

时间:2015-07-02 15:21:38

标签: android checkbox drawable android-4.1-jelly-bean

当使用带有额外drawable的复选框(除了用于复选框的复选框)使用drawableLeft时,两个drawables相互重叠。

复选框设置没有什么特别之处,在这里:

<CheckBox android:id="@+id/low_priority_checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/low_priority"
    android:textColor="@color/primary_text"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:drawableLeft="@drawable/ic_primary_priority_flag_low_medium"/>

实际结果:

enter image description here

预期结果:

enter image description here

在API&lt; = 16

的设备上,compileSdkVersion 22会出现此问题

顺便说一句,使用drawableRight可以正常工作。

这是框架中的错误吗? 任何解决方法?

1 个答案:

答案 0 :(得分:0)

为复选框添加样式(style =&#34; @android:style / Widget.Holo.Light.CompoundButton.CheckBox&#34;),可以将drawable移动到正确的位置。唯一的问题是,对于API <= 16的设备,drawable和text之间的距离大于正常情况。

我的一个CheckBox xml列出如下:

&#13;
&#13;
            <CheckBox
                android:id="@+id/male_toilet_checkbox"
                style="@android:style/Widget.Holo.Light.CompoundButton.CheckBox"
                android:layout_width="wrap_content"
                android:layout_height="28dp"
                android:drawableLeft="@drawable/m"
                android:drawableStart="@drawable/m"
                android:text="@string/male_toilet"
                android:textSize="14sp"
                android:textColor="#ff6c51ff"
                app:layout_constraintTop_toBottomOf="@+id/split_line1" />
&#13;
&#13;
&#13;