我遇到了下一个问题:当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>
非常感谢你的帮助!
答案 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>
这是屏幕截图。
答案 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>