GridView下面的RelativeLayout中不显示按钮

时间:2016-04-16 18:33:52

标签: android android-layout

我遇到了下一个问题:当gridview内容不适合设备显示并且滚动开始时,不会显示gridview下面的按钮。

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingLeft="16dp"
 android:paddingRight="16dp">

  <GridView
    android:id="@+id/generated_number_gridview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:columnWidth="90sp"
    android:horizontalSpacing="10sp"
    android:stretchMode="columnWidth"
    android:verticalSpacing="10sp" />

  <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/generated_number_gridview"
    android:layout_centerHorizontal="true"
    android:onClick="proceed"
    android:text="@string/proceed"
    android:textSize="25sp" />
</RelativeLayout>

非常感谢你的帮助!

3 个答案:

答案 0 :(得分:0)

从按钮布局属性中删除此行。

        android:layout_below="@id/generated_number_gridview"

这意味着它应该在GridView下面。并且您的GridView大小不固定。由于渲染器显示具有多个元素的GridView,因此它会填充屏幕,而Button会低于该值。这就是为什么它不可见的原因。

我希望这是您正在寻找的用户界面。

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp">

    <GridView
        android:id="@+id/generated_number_gridview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnWidth="90sp"
        android:horizontalSpacing="10sp"
        android:stretchMode="columnWidth"
        android:verticalSpacing="10sp"
        android:layout_above="@+id/proceedButton"
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        android:id="@+id/proceedButton"
        android:onClick="proceed"
        android:text="proceed"
        android:textSize="25sp" />
</RelativeLayout>

希望它有所帮助。

答案 1 :(得分:0)

试试这个。

只需将其替换为您的XML代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp">

    <GridView
        android:id="@+id/generated_number_gridview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btnProceed"
        android:layout_centerHorizontal="true"
        android:columnWidth="90sp"
        android:horizontalSpacing="10sp"
        android:stretchMode="columnWidth"
        android:verticalSpacing="10sp" />

    <Button
        android:id="@+id/btnProceed"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:onClick="proceed"
        android:text="Proceed"
        android:textSize="25sp" />
</RelativeLayout>

这是屏幕截图。

enter image description here

答案 2 :(得分:0)

您可以使用此布局..

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:paddingLeft="16dp"
     android:paddingRight="16dp">

  <GridView
        android:id="@+id/generated_number_gridview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        **android:layout_above="@+id/btn_proceed"**
        android:layout_centerHorizontal="true"
        android:columnWidth="90sp"
        **android:horizontalSpacing="10dp**"
        android:stretchMode="columnWidth"
        **android:verticalSpacing="10dp"** />

 <Button
        android:id="@+id/btn_proceed"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:onClick="proceed"
        android:text="@string/proceed"
        android:textSize="25sp" />
    </RelativeLayout>