复选框和调整android XML中的drawable(* .png)

时间:2013-07-06 18:35:55

标签: android xml checkbox

我正在尝试为我的Android应用程序配置复选框,我遇到了一个问题:我正确配置了我的复选框并且它们工作得很好但是,因为它们的空间是用重量做的,所以我遇到了问题小屏幕,因为图像总是相同的(对于小屏幕,它太大了)。我只想知道如何将我的图片大小与dimens.xml链接起来以获得更好的东西:p 在Starkoverflow上有这个问题,但只是一个不起作用的答案,因为@drawable / ...不适用于属性width和height。

如果需要,请输入以下代码:

DRAWABLE @ Drawable / facebook

<?xml version="1.0" encoding="utf-8"?>
     <selector xmlns:android="http://schemas.android.com/apk/res/android" >
       <item android:state_checked="false" android:drawable="@drawable/fck_inactive" />
       <item android:state_checked="true" android:drawable="@drawable/fck_active" />
       <item android:drawable="@drawable/fck_inactive" /> 
    </selector>

XML文件 layout.xml的一部分

<LinearLayout 
                        android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="0.4"
                android:background="@drawable/white_rectangle">
        <CheckBox
                android:id="@+id/facebook"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:button="@drawable/facebook" />

1 个答案:

答案 0 :(得分:2)

因此,如果我理解正确,您希望使用实际的复选框大小正确显示复选框缩放的背景。

我的解决方案是将android:button字段设置为null,并将复选框状态设置为复选框的android:background字段。

您的代码将成为:

<CheckBox
    android:id="@+id/facebook"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:button="@null"
    android:background="@drawable/facebook" />

这样做可以吗?