如何在android中创建像ui这样的网格?

时间:2014-02-01 15:49:09

标签: android android-layout android-imageview

我想实现以下ui

enter image description here

屏幕将分为8个大小相等的部分,每个部分都包含一个imageview

我不会使用网格视图,因为它不是图库。谢谢你的帮助

我尝试了以下代码,但左右列不等于

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/share_bg">

    <LinearLayout
        android:id="@+id/s_leftColumn"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/s_rightColumn"
        android:orientation="vertical" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/title" />

        <ImageView
            android:id="@+id/s_sixMates"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/leaderboard_a" />

        <ImageView
            android:id="@+id/s_player"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/leaderboard_b" />

        <ImageView
            android:id="@+id/s_party"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/leaderboard_c" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/s_rightColumn"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/s_food"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/leaderboard_d" />

        <ImageView
            android:id="@+id/s_dress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/leaderboard_e" />

        <ImageView
            android:id="@+id/s_attendant"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/leaderboard_f" />

        <ImageView
            android:id="@+id/s_ball"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/leaderboard_g" />
    </LinearLayout>

</RelativeLayout>

!!!!!!!!!!!!!!更新:!!!!!!!!!!!!!!!!!!!!!!

我实现gridview后,图片大小太大而且没有屏幕,如何修复?感谢

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/share_bg"
    android:columnCount="2"
    android:orientation="vertical"
    android:rowCount="4" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/title" />

    <ImageView
        android:id="@+id/s_sixMates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/leaderboard_a" />

    <ImageView
        android:id="@+id/s_player"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/leaderboard_b" />

    <ImageView
        android:id="@+id/s_party"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/leaderboard_c" />

    <ImageView
        android:id="@+id/s_food"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/leaderboard_d" />

    <ImageView
        android:id="@+id/s_dress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/leaderboard_e" />

    <ImageView
        android:id="@+id/s_attendant"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/leaderboard_f" />

    <ImageView
        android:id="@+id/s_ball"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/leaderboard_g" />

</GridLayout>

更新:使用Ankit解决方案。不幸的是左边不相等,请参考截图 enter image description here

1 个答案:

答案 0 :(得分:1)

使用此代码作为参考,并替换为您的drawable。它对我来说很好:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="2" >

    <LinearLayout
        android:id="@+id/s_leftColumn"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:id="@+id/s_sixMates"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:id="@+id/s_player"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:id="@+id/s_party"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/s_rightColumn"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/s_food"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:id="@+id/s_dress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:id="@+id/s_attendant"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />

        <ImageView
            android:id="@+id/s_ball"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

</LinearLayout>