2013-03-25 43 views
0

我想要一个布局,即整个屏幕是GridView,但在“最后一行”(屏幕的平均底部)将是文本视图或按钮(用于显示某种状态)。我设计这个布局类似下面的代码:Android:在底部屏幕上包含空字段的设计布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:orientation="vertical" 
    tools:context=".DishSelectionFragment" > 

    <GridView 
     android:id="@+id/gridView2" 
     android:numColumns="auto_fit" 
     android:gravity="center" 
     android:columnWidth="250dp" 
     android:stretchMode="columnWidth" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 
    </GridView> 

    <TextView 
     android:id="@+id/text_price_dish" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@+id/label" 
     android:layout_marginTop="2px" 
     android:textSize="20px" > 
    </TextView> 

</LinearLayout> 

我曾尝试添加文本TextView的,但是在模拟器中运行时,文本不显示。我不知道如何设计布局满足我的目的。请帮帮我。

谢谢:)

回答

4

你看不到的TextView作为GridView控件需要整个空间android:layout_height="fill_parent" 只要改变GridView控件如下:

<GridView 
    [...] 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
/> 

这会让你的GridView填充所有剩余空间,而不推TextView的出可见区域。

1

GridView变化:

android:layout_height="wrap_content" 

android:layout_above="@+id/text_price_dish"  
1

您需要使用RelativeLayout为你的父母布局和观察添加的属性。例如:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    enter code heretools:context=".DishSelectionFragment"> 

    <GridView 
     android:id="@+id/gridView2" 
     android:numColumns="auto_fit" 
     android:gravity="center" 
     android:columnWidth="250dp" 
     android:stretchMode="columnWidth" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 

     android:layout_above="@+id/text_price_dish" > <!-- added --> 
    </GridView> 
    <TextView 
     android:id="@+id/text_price_dish" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@+id/label" 
     android:layout_marginTop="2px" 
     android:textSize="20px" 

     android:layout_alignParentBottom="true" >  <!-- added --> 
    </TextView> 

</RelativeLayout>