将屏幕分成3个相等的部分 - ImageButtons

时间:2016-10-08 09:32:18

标签: android android-linearlayout

我有3个ImageButtons,每个下面都有文本,它们之间有一个分隔符。我希望它们占据屏幕的相等空间,每个1/3。我尝试了权重组件,将其均衡0和布局的weightSum(等于“3”),但这不起作用。这是迄今为止的代码:

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

    <LinearLayout
        style="@style/..."
        android:layout_marginLeft="15dp">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/pic"/>

        <TextView
            style="@style/TextImageUploader"
            android:text="@string/..."/>
    </LinearLayout>

    <View
        android:layout_width="0.5dp"
        android:layout_height="match_parent"
        android:background="@color/..."/>

    <LinearLayout
        style="@style/..."
        android:layout_marginLeft="15dp">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/pic"/>

        <TextView
            style="@style/TextImageUploader"
            android:text="@string/..."/>
    </LinearLayout>

    <View
        android:layout_width="0.5dp"
        android:layout_height="match_parent"
        android:background="@color/blue_800"/>

    <LinearLayout
        style="@style/..."
        android:layout_marginLeft="15dp">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/pic"/>

        <TextView
            style="@style/TextImageUploader"
            android:text="@string/..."/>
    </LinearLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

您需要将android:layout_weight="1"放入包含LinearLayoutImageView的{​​{1}}。只要layout_weights相同,您就不需要输入weightSum。用作分隔符的视图应具有TextView

答案 1 :(得分:1)

试试这个:

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

    <LinearLayout
        style="@style/..."
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_marginLeft="15dp">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/pic"/>

        <TextView
            style="@style/TextImageUploader"
            android:text="@string/..."/>
    </LinearLayout>

    <View
        android:layout_width="0.5dp"
        android:layout_height="match_parent"
        android:background="@color/..."/>

    <LinearLayout
        style="@style/..."
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_marginLeft="15dp">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/pic"/>

        <TextView
            style="@style/TextImageUploader"
            android:text="@string/..."/>
    </LinearLayout>

    <View
        android:layout_width="0.5dp"
        android:layout_height="match_parent"
        android:background="@color/blue_800"/>

    <LinearLayout
        style="@style/..."
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_marginLeft="15dp">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/pic"/>

        <TextView
            style="@style/TextImageUploader"
            android:text="@string/..."/>
    </LinearLayout>

</LinearLayout>