4

我正在使用内部项目进行项目,我想将客户图像用于复选框选中/未选中事件。

在我的登录 xml 中,我写了:

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="5dp" >

        <CheckBox
            android:id="@+id/chk_remember_me"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:button="@drawable/checkbox_uncheked"
            android:paddingLeft="5dp"
            android:text="Remember Me"
            android:textColor="#024d94"
            android:textSize="12dp" />
    </LinearLayout>

在这里,我用于 android:paddingLeft="5dp"获取按钮和 textview 之间的空间。

我的问题:我对 2.3 和 4.2 有两种不同的看法

对于具有 xhdpi 或低于密度或具有大屏幕的设备,我正在低于屏幕(这个是我想要的完美):

在此处输入图像描述

对于具有 hdpi 或低于密度或具有正常/小屏幕的设备,我正在低于屏幕:

在此处输入图像描述

谁能告诉我我在哪里失踪?或者我的布局有什么错误?

我想要在普通/大屏幕设备中为 4.2 设备获得的相同布局屏幕。

提前致谢。

4

3 回答 3

7

似乎Checkbox默认情况下已经在内部使用填充并覆盖它paddingLeft会导致这些问题。您应该从 XML 中删除该属性。

如果您仍想调整填充,则必须以编程方式进行。看到这个答案:https ://stackoverflow.com/a/4038195/832776

要将其仅应用于> 4.2,您可以使用以下内容,但我会在模拟器上进行测试以确保此问题不仅仅是您的设备的问题。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
于 2013-01-05T06:04:43.533 回答
0

为复选框提供固定宽度,希望这可以解决您的问题。

于 2013-01-05T06:08:40.630 回答
0

不要填充,它默认带有复选框。

于 2013-05-09T09:04:27.463 回答