我必须创建一个由以下内容组成的布局: - 标题 - 中央GridView - 页脚
这是我的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/gridrelativelayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Header -->
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/header" >
<!-- Logo -->
<ImageView android:src="@drawable/header"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="top"/>
<!-- /Logo -->
</LinearLayout>
<!-- /Header -->
<LinearLayout
android:id="@+id/grid_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="5dp"
android:horizontalSpacing="5dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="20dp" />
</LinearLayout>
<!-- Footer -->
<LinearLayout
android:id="@+id/footer"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/header" >
<!-- Logo -->
<ImageView
android:src="@drawable/footer"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!-- /Logo -->
</LinearLayout>
<!-- /Footer -->
</LinearLayout>
我不知道为什么但我无法显示页脚,即使我将其布局重力设置为“底部”..任何人都可以帮助我吗?提前谢谢!
答案 0 :(得分:2)
使用match_parent的grid_layout
layout_height,它将填充LinearLayout的其余空间。你需要切换到RelativeLayout,使grid_layout
具有wrap_content的高度,或者给你的footer
一个负余量(这将使它被绘制在grid_layout
上)。
您还可以尝试为grid_layout
和footer
视图试用layout_weight。给他们一个重量应该在屏幕上分享它们之间的剩余空间。
答案 1 :(得分:1)
使用Relative layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageView1"
android:layout_alignParentBottom="true"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/ic_launcher" />
<GridView
android:id="@+id/gridView1"
android:layout_above="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/imageView1"
android:numColumns="3" >
</GridView>
</RelativeLayout>
图形布局的快照
答案 2 :(得分:0)
您可以尝试添加 - android:layout_weight =“1”
<!-- Header -->
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/header" >
<!-- Logo -->
<ImageView android:src="@drawable/header"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="top"/>
<!-- /Logo -->
</LinearLayout>
<!-- /Header -->
<LinearLayout
android:id="@+id/grid_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" >
<GridView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="5dp"
android:horizontalSpacing="5dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="20dp" />
</LinearLayout>
<!-- Footer -->
<LinearLayout
android:id="@+id/footer"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/header" >
<!-- Logo -->
<ImageView
android:src="@drawable/footer"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!-- /Logo -->
</LinearLayout>
<!-- /Footer -->