布局帮助 - 相对或线性

时间:2012-05-22 10:53:30

标签: android relativelayout android-linearlayout

我正在创建一个用于在左侧显示图像的视图,在右侧显示网格视图,在屏幕底部我想要包括最后一个屏幕,下一个屏幕,刷新和主页导航按钮,即:

图片| gridview的

imagebtn | imagebtn | imagebtn | imagebtn |

我试过以下但是失败了?我是否需要相对视图(虽然我也没有尝试过)或者我做错了什么?

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/flowers"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_gravity="center">


        <ImageView
        android:id="@+id/imageView1"
        android:layout_width="96dp"
        android:layout_height="512dp"
        android:contentDescription="@string/mainlogo"
        android:src="@drawable/talltree"
        android:gravity="top"
        />

        <GridView  
        android:id="@+id/gridView1"  
        android:layout_width="wrap_content"    
        android:layout_height="wrap_content"
        android:numColumns="3"
        android:verticalSpacing="1dp"
        android:horizontalSpacing="1dp"
        android:stretchMode="columnWidth"
        android:gravity="center"

        />

</LinearLayout> 

<LinearLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:gravity="center"
        android:layout_gravity="center">

        <ImageButton
        android:id="@+id/imageButtona"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/arrow_left"
        android:contentDescription="@string/game1">
        </ImageButton>


        <ImageButton
        android:id="@+id/imageButtonb"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/gamelisttwo"
        android:src="@drawable/arrow_refresh1">
        </ImageButton>

        <ImageButton
        android:id="@+id/imageButtonc"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/gohome"
        android:src="@drawable/gamelistone">
        </ImageButton>

        <ImageButton
        android:id="@+id/imageButtond"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/gamelisttwo"
        android:src="@drawable/gamelisttwo" 
        android:contentDescription="@string/game2">
        </ImageButton>
</LinearLayout>

</LinearLayout>

抱歉格式化

2 个答案:

答案 0 :(得分:1)

您可以通过使用RelativeLayout和LinearLayout combine

来满足您的需求
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/bottom"
    android:orientation="horizontal" >

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <GridView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />
</LinearLayout>

<LinearLayout
    android:id="@+id/bottom"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button2" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button3" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button4" />
</LinearLayout>

</RelativeLayout>

答案 1 :(得分:1)

在第一个LinearLayout上使用此代码:android:orientation="vertical"

在第二个LinearLayout上使用此android:orientation="horizontal"

在第三个LinearLayout上使用此代码:android:orientation="horizontal"