如何为图像视图的布局指定权重?

时间:2016-05-21 05:26:17

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

请帮助我,我想创建以下类型的布局,图像视图顶部有按钮
我的代码是:

<RelativeLayout
        android:id="@+id/image_area"
        android:layout_below="@id/header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <ImageView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:src="@mipmap/edit_profile_bg"
                android:layout_weight="2"/>

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

                <ImageView
                    android:src="@mipmap/edit_profile_bg"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_height="0dp" />
                <ImageView
                    android:src="@mipmap/edit_profile_bg"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_height="0dp" />

            </LinearLayout>

        </LinearLayout>

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

            <ImageView
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:src="@mipmap/edit_profile_bg"/>

            <ImageView
                android:src="@mipmap/edit_profile_bg"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content" />
            <ImageView
                android:src="@mipmap/edit_profile_bg"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content" />

        </LinearLayout>
    </RelativeLayout>

我该如何添加按钮?而且图像也没有通过重量正确对齐。请帮忙。

1 个答案:

答案 0 :(得分:0)

下面是您想要的布局,带有imageview的按钮

    <LinearLayout
        android:id="@+id/lin_edit_0"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:orientation="horizontal"
        android:weightSum="3" >

        <LinearLayout
            android:id="@+id/lin_edit"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical"
            android:weightSum="2" >

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#00000000"
                android:hint="Button 1" />

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="2"
                android:src="@drawable/cal" />
        </LinearLayout >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:orientation="vertical" >

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#00000000"
                android:hint="Button 2" />

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:src="@drawable/cal" />

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#00000000"
                android:hint="Button 3" />

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:src="@drawable/cal" />
        </LinearLayout >
    </LinearLayout >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:weightSum="3" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#00000000"
                android:hint="Button 4" />

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:src="@drawable/cal" />
        </LinearLayout >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#00000000"
                android:hint="Button 5" />

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:src="@drawable/cal" />
        </LinearLayout >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#00000000"
                android:hint="Button 6" />

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:src="@drawable/cal" />
        </LinearLayout >
    </LinearLayout >
</LinearLayout >

您也可以使用

  

图书馆 https://github.com/felipecsl/AsymmetricGridView

     

Android ListView模仿具有非对称项的GridView。   支持行跨度和列跨度的项目

enter image description here

enter image description here