LinearLayout中元素间距的最佳实践

Pio*_*ski 2 android android-layout android-linearlayout

LinearLayout用三个相同的元素创建了一个简单的:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Hello"/>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Hello"/>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Hello"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

现在我要介绍8dp每对元素之间的空间。

以下哪个解决方案被认为是更清洁的?

在此处输入图片说明 或者: 在此处输入图片说明

或者其他一些?

KeL*_*yue 7

尝试这个 。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Hello" />

<android.support.v4.widget.Space
    android:layout_width="8dp"
    android:layout_height="wrap_content" />

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Hello" />

<android.support.v4.widget.Space
    android:layout_width="8dp"
    android:layout_height="wrap_content" />

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Hello" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

为您的代码添加空间。

<android.support.v4.widget.Space
    android:layout_width="8dp"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)


crg*_*dos 5

无论是给定的解决方案,您也可以使用可绘制的分隔线LinearLayout

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:showDividers="middle"
    android:divider="@drawable/divider8p"
    android:orientation="vertical">

    <!-- Your items here -->

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

对于分隔符声明:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="#00FFFFFF"/>
    <size android:width="8dp" android:height="8dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)