【问题标题】:I want grid view to be displayed as a whole我希望将网格视图作为一个整体显示
【发布时间】:2020-07-25 11:00:28
【问题描述】:

我有一个具有滚动视图的布局,并包含另一个具有网格视图的布局。问题是当我更改屏幕方向时,根布局(具有滚动视图)没有滚动,但子布局内的网格视图正在实现滚动视图,并且它的项目没有整体显示。我希望根布局始终滚动,网格视图始终显示它的所有项目,而不需要任何滚动。这个怎么办??

内部布局 XML,

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:cardCornerRadius="@dimen/loginCardRadius"
android:elevation="5dp"
android:layout_gravity="center"
android:layout_marginTop="@dimen/loginViewsMargin"
android:layout_marginBottom="@dimen/loginViewsMargin"
android:background="#ffffff">

<LinearLayout
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_gravity="center"
    android:padding="@dimen/loginViewsMargin">

    <ImageView
        android:contentDescription="@string/string1"
        android:src="@drawable/logo"
        android:layout_gravity="center"
        android:layout_height="100dp"
        android:layout_width="wrap_content"
        android:layout_marginTop="@dimen/loginViewsMargin"/>

    <GridView
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/grid_view"
        android:numColumns="2"/>

</LinearLayout>
</androidx.cardview.widget.CardView>

外部布局 XML,

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

    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content">

        <LinearLayout
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_alignParentTop="true"
            android:baselineAligned="true"
            android:weightSum="12"
            android:background="@drawable/login_shape_bk"
            android:orientation="vertical"
            android:layout_weight="3">


            <ImageView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_login_bk" />

        </LinearLayout>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentTop="true"
            android:orientation="vertical"
            android:layout_marginTop="40dp"
            android:layout_marginRight="30dp"
            android:layout_marginLeft="30dp">

            <TextView
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:textColor="#ffffff"
                android:textSize="22sp"
                android:textStyle="bold"
                android:layout_marginTop="20dp"
                android:gravity="center"
                android:layout_gravity="center"
                android:text="@string/research_work"/>

            <include
                layout="@layout/layout_advisors"/>

        </LinearLayout>

    </RelativeLayout>

</ScrollView>

【问题讨论】:

    标签: android gridview scrollview


    【解决方案1】:

    将您的GridView 替换为RecyclerView

    我正在尝试并完美地工作

    <androidx.recyclerview.widget.RecyclerView
                                        android:id="@+id/grid_view"
                                        android:layout_width="match_parent"
                                        android:layout_height="wrap_content"
                                        app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
                                        app:spanCount="2"/> 
    

    希望对你有帮助

    【讨论】:

    • 评论不适用于扩展讨论或调试会话。此对话是archived in chat。请务必将答案发送至edit 以包含所有相关信息。
    • Dinesh兄弟,我试过你提到的答案,但是一旦选择了一个项目,我们尝试选择其他项目,前一个项目也被突出显示。我想一次突出显示一个项目,然后应该出现一个加载微调器并且应该进行片段切换。 Basically when one item is selected user should be unable to select other item, something like that....
    猜你喜欢
    • 2010-10-07
    • 2012-11-18
    • 1970-01-01
    • 2020-03-24
    • 2018-06-22
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2016-10-11
    相关资源
    最近更新 更多