关于HorizontalScrollView嵌套GridView

在实现横向滑动时,HorizontalScrollView嵌套GridView导致每行只显示一个数据且图片无法正常显示。解决方法是在两者间加入LinearLayout,并设置HorizontalScrollView的android:fillViewport="true"。另外,GridView的width需设为固定值,如2000dp,以实现横向滑动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做横向滑动的时候遇到了几个问题:

        首先是用HorizontalScrollView直接嵌套GridView,然后发现无论在代码是如何设置setNumColumns的值,GridView每行都只显示一个数据,而且特别窄,图片显示不出来,查询后发现是因为HorizontalScrollView和ScrollView一样,下面需要一层根布局,在HorizontalScrollView和GridView之间加了一层LinearLayout然后给HorizontalScrollView添加一条属性android:fillViewport="true"     当ScrollView里的元素想填满ScrollView时,使用"fill_parent"是不管用的,必需为ScrollView设置:android:fillViewport="true"。

            之后又发现布局最多只能充满屏幕,数据越多,每个item就越小,会让所有的item同时挤在屏幕里,而不能横向滑动,这是因为gridview宽度不能写wrap_content或者match_parent,而需要写固定值,我们可以设置Gridview的layout_width=2000dp,一个可以超出屏幕最大宽度的值。

<HorizontalScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fillViewport="true">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <GridView
                    android:id="@+id/activity_userinfo_gv"
                    android:layout_width="2000dp"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/px40_dp"></GridView>
            </LinearLayout>
        </HorizontalScrollView>
    </LinearLayout>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值