Android AppCompatCheckbox填充/边距/重力

时间:2016-12-06 08:13:50

标签: android android-layout android-appcompat appcompat-v7-r22.1

我的布局中有一个AppCompatCheckBox。这就是它的样子:

enter image description here

问题是填充或边距或重力不是我想要的方式。 Box和左边框之间有一个小间隙。我将重力设置为左/开始paddding和margin为0,但差距仍然存在。我该如何删除?我希望它完全位于左边界或居中。两者都没关系。但是将重心设置为中心也不起作用。

有人有想法吗?

CheckBox和文本应该在彼此之上。

<LinearLayout
            android:id="@+id/llRoot"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <LinearLayout
                android:id="@+id/llCbs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <android.support.v7.widget.AppCompatCheckBox
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:textColor="?attr/textColor" />

                <android.support.v7.widget.AppCompatCheckBox
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:textColor="?attr/textColor" />

                <android.support.v7.widget.AppCompatCheckBox
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:textColor="?attr/textColor" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/llTv"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />
            </LinearLayout>

        </LinearLayout>

3 个答案:

答案 0 :(得分:0)

您可以将AppCompatCheckbox设置为中心,只需添加linearlayout并将其重力设置为居中位置,并将AppCompatCheckbox添加为其子级。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <android.support.v7.widget.AppCompatCheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>


</RelativeLayout>

答案 1 :(得分:0)

不是AppCompatCheckBox的问题,而是CheckBox本身的问题。我找到的唯一解决方案是设置负边距(对我来说-7dp很棒)。

答案 2 :(得分:-1)