滚动视图内的Gridview无法正常工作

时间:2018-03-10 12:21:31

标签: android android-layout android-linearlayout android-gridview android-scrollview

我正在尝试设计如下图所示的布局。它包含ImageView封面图片GridView,其中每个单元格将作为执行各种操作的按钮,并在TextView作为页脚的下方。

Layout Image

我无法实现这一目标。以下是我的xml代码:

home.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="7">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:layout_weight="3"
        android:scaleType="centerCrop"
        android:src="@drawable/xyz" />

    <GridView
        android:id="@+id/gridview"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="3.5"
        android:background="#000000"
        android:columnWidth="100dp"
        android:horizontalSpacing="1dp"
        android:numColumns="2"
        android:stretchMode="columnWidth"
        android:verticalSpacing="1dp"></GridView>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:text="OSKAR" />
</LinearLayout>

singlegrid.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="200dp"
     android:background="#ffffff"
     android:orientation="vertical">

  <ImageView
    android:id="@+id/grid_img"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />

  <TextView
    android:id="@+id/grid_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight="1" />
</LinearLayout>

我正在努力解决这个问题,并通过各种解决方案进行了大量搜索,但却无法找到正确的解决方案。提前致谢。

1 个答案:

答案 0 :(得分:1)

我认为你为什么要使用scrollView? 没有滚动视图,您的要求就满足了。

您可以像下面一样设置网格子项的高度:

Child_item_height= 
(screenheight - (toolbar_height+imageview_height+footer_height+textview_height))/2

注意:您可以将textview高度修复设置为20dp。 使用上面的登录,你可以获得网格的高度,这样你就可以在屏幕上显示4个网格,在滚动中显示另一个网格。