首页 > 解决方案 > 如何配置布局的xml以防止切字?

问题描述

我在XML切字有问题,看下图: 在此处输入图像描述

如您所见,单词Delete已被剪切。下面是我对这部分的布局:

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="end"
        android:orientation="horizontal"
        android:weightSum="30"
        android:baselineAligned="false">

        <RelativeLayout
            android:id="@+id/more_btn"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:layout_weight="10"
            android:background="@color/gray_light"
            android:paddingStart="10dp"
            android:paddingEnd="10dp">

            <ImageView
                android:id="@+id/pict_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:background="@drawable/ic_more"
                android:drawablePadding="10dp" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:text="More"
                android:layout_below="@id/pict_1"
                android:textAlignment="center"
                android:textColor="@color/white"
                android:textSize="12sp" />

        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/archive"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="10"
            android:background="@color/colorAccent"
            android:paddingStart="5dp"
            android:paddingEnd="5dp">

            <ImageView
                android:id="@+id/pict_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:background="@drawable/ic_inbox"
                android:contentDescription="TODO" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Archive"
                android:layout_below="@id/pict_2"
                android:textColor="@color/white"
                android:textSize="12sp" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/delete"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:layout_weight="10"
            android:background="#FF0000"
            android:paddingStart="10dp"
            android:paddingEnd="10dp">

            <ImageView
                android:id="@+id/pict_3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:background="@drawable/ic_delete"
                android:drawablePadding="10dp" />


            <TextView
                android:layout_below="@id/pict_3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Delete"
                android:textAlignment="viewStart"
                android:textColor="@color/white"
                android:textSize="12sp" />

        </RelativeLayout>
    </LinearLayout>

一般来说,我注意到它是由在父布局中拉元素的填充引起的。我试图改变它,但我看到这个词Archive也是可以影响的。如何用错误的布局 xml 解决这个问题?

标签: androidxmlandroid-layout

解决方案


为您添加第三个布局(删除),其中包含如下所示的换行内容和权重

<RelativeLayout
        android:id="@+id/delete"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_weight="10"
        android:background="#FF0000"
        android:paddingStart="10dp"
        android:paddingEnd="10dp">

        <ImageView
            android:id="@+id/pict_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:background="@drawable/ic_delete"
            android:drawablePadding="10dp" />


        <TextView
            android:layout_below="@id/pict_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Delete"
            android:textAlignment="viewStart"
            android:textColor="@color/white"
            android:textSize="12sp" />

    </RelativeLayout>

推荐阅读