为什么在LinearLayout中子视图之间会获得更多空间?

时间:2018-08-01 06:32:19

标签: android android-layout android-layout-weight

我正面临在ldpimdpihdpi密度设备中的LinearLayout中的子视图之间获取更多空间的问题。但是对于其余的工作来说还不错。

<LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/img_file_item"
            android:layout_centerVertical="true"
            >

            <TextView
                android:id="@+id/txt_file_name"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginLeft="5dp"
                android:text= "@string/text_file_name"
                android:textColor="@color/title_bar_color"
                android:textSize="@dimen/normal_text_size" />

            <TextView
                android:id="@+id/txt_rename"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginLeft="10dp"
                android:text="@string/txt_rename"
                android:clickable="true"
                android:textColor="@color/txt_status_color_blue"
                android:textSize="@dimen/normal_text_size" />
        </LinearLayout> 

在这里,我尝试将第二个孩子的边距设置为“ 10dp”,使其工作正常。但是我需要将“ 5dp”设置为“ 10dp”,第二个孩子的空间。我遇到第一个孩子的问题,在那里我提到了我的体重要求。当我删除它的工作正常。谁能帮我吗?请。 enter image description here用于大文本。 enter image description here表示萨姆勒文本。

1 个答案:

答案 0 :(得分:0)

希望我能正确理解您的问题。

因此,可以通过在线性布局中使用布局权重来解决此问题。通过使用它,您将为每个视图获得适当的空间,并且该视图将根据其中的元素自动进行调整。 首先,您必须在父视图中分配“权重和”属性-该属性显示要划分子视图的部分,在子视图中使用Layout_weight-描述要分配该特定视图的空间,

如下面的代码所示,它可以帮助您...

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:weightSum="4">
<ImageButton
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_margin="10dp"
    android:layout_weight="1"
    android:background="#ffffff"
    android:src="@drawable/ic_action_mail" />
<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:layout_weight="2"
    android:text="GbrjjZnqw59jrnGKHq9wtFcZRuj7py7jxu8zeuZNsCGbrjjZnqw59jrnGKHq9wtFcZRuj7py7jxuyz" />
<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_margin="1dp"
    android:layout_weight="1"
    android:text="Rename"
    android:textColor="@color/colorPrimaryDark" />

现在,您可以根据上面代码中的要求调整边距,填充。

希望这会为您提供帮助!

谢谢!