我的布局设计有问题。当我尝试在Linearlayout中添加GridView时,它使控件不可见(在GridView下面)。
我需要的设计是:
http://www.imagesup.net/pt-514145877008.png
我尝试使用Relativelayout创建它并使用了一个gridView。 这是XML布局文件:
purchase.xml
<?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="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF">
<LinearLayout
android:id="@+id/button_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="#FFFFFF"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="One Year Subscription"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="10dp"
android:paddingTop="15dp"
android:text="Rs. 500"
android:textColor="#000000"
android:textSize="18sp" />
<Button
android:id="@+id/button_continue"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="right"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:background="#FF0000"
android:text="Buy"
android:textColor="#FFFFFF" >
<!-- continue button -->
<!-- select All check box -->
</Button>
</LinearLayout>
<View android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="#CDCDCD"/>
<LinearLayout
android:id="@+id/monthly_subscription"
android:orientation="vertical"
android:layout_below="@+id/button_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="10dp"
android:paddingTop="15dp"
android:text="monthly Subscription"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/price_text"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="right"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:gravity="right"
android:text="Rs 0"
android:textColor="#000000"
android:textSize="18sp" />
<GridView
android:id="@+id/book_grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:numColumns="3"
android:padding="10dp"
tools:listitem="@layout/book_list_item" >
</GridView>
<Button
android:id="@+id/button_continue_bottom"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="right"
android:layout_margin="10dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="10dp"
android:background="#FF0000"
android:text="Buy"
android:textColor="#FFFFFF" >
</Button>
</LinearLayout>
</RelativeLayout>
这是我尝试使用此代码时得到的结果,当我尝试将GridView的可见性设置为&#34;去了&#34;
时,我也得到了结果http://www.imagesup.net/pm-314145913100.png
我的设计出了什么问题?是什么让控件看不见。请帮我设置它作为我所需的布局。
答案 0 :(得分:0)
您应该将底部按钮放在线性布局之外。试试这段代码:
<?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="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF>
<!-- Align to parent top-->
<LinearLayout
android:id="@+id/button_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="#FFFFFF"
android:gravity="center"
android:orientation="vertical"
android:padding="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="One Year Subscription"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="10dp"
android:paddingTop="15dp"
android:text="Rs. 500"
android:textColor="#000000"
android:textSize="18sp" />
<Button
android:id="@+id/button_continue"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="right"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:background="#FF0000"
android:text="Buy"
android:textColor="#FFFFFF">
<!-- continue button -->
<!-- select All check box -->
</Button>
</LinearLayout>
<!-- layout below top linearlayout-->
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_below="@+id/button_area"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="#CDCDCD" />
<!-- layout below line view but above bottom button-->
<LinearLayout
android:id="@+id/monthly_subscription"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/button_continue_bottom"
android:layout_below="@+id/line"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="10dp"
android:paddingTop="15dp"
android:text="monthly Subscription"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/price_text"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="right"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:gravity="right"
android:text="Rs 0"
android:textColor="#000000"
android:textSize="18sp" />
<GridView
android:id="@+id/book_grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:numColumns="3"
android:padding="10dp"
android:stretchMode="columnWidth"
tools:listitem="@layout/book_list_item"></GridView>
</LinearLayout>
<!-- layout outside of linear layout and align to parent bottom-->
<Button
android:id="@+id/button_continue_bottom"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_margin="10dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="10dp"
android:background="#FF0000"
android:text="Buy"
android:textColor="#FFFFFF" />
</RelativeLayout>