- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章探讨:如何在ScrollView中嵌套ListView由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1、分析 。
1、最简单的布局:只有一个listview 。
如果整个页面只有一个listview的话,那么由于listview本身带有滚动效果,所以当加载的数据超过页面显示的范围时,可以通过上下滑动来查看所有的item。 因此这种情况下,不需要添加scrollview.
2、其它布局a+listview 。
这种情况下,如果布局a定义在listview的前面,那么当布局a所占的比例较大,或者listview加载的数据较多时,都会导致listview显示不完全。同样,由于listview自身可以滚动,因此仍然可以通过上下滚动来查看listview的所有item.
3、其它布局b+listview 。
这种情况下,假设布局b定义在listview的后面,那么就会出现两种情况: (1)、listview加载的数据不多,可以完全显示listview的每一项,那么如果后面还有足够剩余的空间的话,布局b能正常显示; (2)、listview加载的数据加多,那么就会导致留给布局b的空间不足,或者根本就没有,布局b将会显示不完全或者完全不显示。 而不管怎么,listview本身的内容,都可以通过滑动来查看.
对于第三种情况,如果不重新考虑布局的话,那么就需要添加scrollview,用于查看剩余页面内容.
。
2、scrollview和listview的冲突问题 。
1、给listview指定一个高度 例如设置android:layout_height="240dip",那么可以解决,可能会影响美观.
。
2、外面再添加个scrollview 这种情况下,会出现问题.
。
3、给scrollview设置属性:android:fillviewport="true" 测试的时候发现,如果listview加载的数据不多的话,确实可以解决,但是当listview加载的数据较多的时候,仍旧无法显示完全,并且这个时候listview自身也无法滚动了。 3、解决办法有两种 1、在计算listview总高度并设置 listview listview = (listview) findviewbyid(id); youradapter adapter = new myadapter("初始化你的适配器"); listview.setadapter(adapter); setlistviewheightbasedonchildren(listview);(在setadapter后调用自定义的方法) 。
复制代码 代码如下
/** * @param listview */ private void setlistviewheightbasedonchildren(listview listview) { listadapter listadapter = listview.getadapter(); if (listadapter == null) { return; } int totalheight = 0; for (int i = 0; i < listadapter.getcount(); i++) { view listitem = listadapter.getview(i, null, listview); listitem.measure(0, 0); totalheight += listitem.getmeasuredheight(); } viewgroup.layoutparams params = listview.getlayoutparams(); params.height = totalheight + (listview.getdividerheight() * (listadapter.getcount() - 1)); listview.setlayoutparams(params); } 。
使用该方法需要注意:子listview的每个item必须是linearlayout,不能是其他的,因为其他的layout(如relativelayout)没有重写onmeasure(),所以会在onmeasure()时抛出异常。 2、 自定义listview,重载onmeasure()方法,设置全部显示 。
复制代码 代码如下
package com.meiya.ui; import android.widget.listview; /** * * @description: scrollview中内嵌listview的简单实现 * * @file: scrollviewwithlistview.java * * @paceage com.meiya.ui * * * @date 下午03:02:38 * * @version */ public class scrollviewwithlistview extends listview { public scrollviewwithlistview(android.content.context context, android.util.attributeset attrs) { super(context, attrs); } /** * integer.max_value >> 2,如果不设置,系统默认设置是显示两条 */ public void onmeasure(int widthmeasurespec, int heightmeasurespec) { int expandspec = measurespec.makemeasurespec(integer.max_value >> 2, measurespec.at_most); super.onmeasure(widthmeasurespec, expandspec); } } 。
以上可以解决scrollview内嵌listview,但是有一个问题是第一次进入界面时动态加载listview的items后页面会跳转到listview的第一个子项,这很蛋疼, 无奈又不知道怎么解决,就先用 。
复制代码 代码如下
scrollview.post(new runnable() { //让scrollview跳转到顶部,必须放在runnable()方法中 @override public void run() { scrollview.scrollto(0, 0); } }),
这个方法过度下,希望有知道的朋友还给点解决方案 3、使用scrollview +linearlayout用addview()的方法添加列表.
。
最后此篇关于探讨:如何在ScrollView中嵌套ListView的文章就讲到这里了,如果你想了解更多关于探讨:如何在ScrollView中嵌套ListView的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试创建一个类似于 BBC 新闻 native 应用程序的布局(使用known.js);一个垂直的ScrollView,其中有许多水平的ScrollView。我已经“工作”到了一切都渲染并且水平
我正在尝试创建一个类似于 BBC 新闻 native 应用程序的布局(使用known.js);一个垂直的ScrollView,其中有许多水平的ScrollView。我已经“工作”到了一切都渲染并且水平
我已经为以下问题寻找了很多答案,但没有找到合适的解决方案(也不是“不可能”)。我不想要双向 ScrollView! 我想要的只是拥有这样的东西: 如果我这样做(具有所需的布局属性),我会得到我的
我想使用 famo.us 标准 Scrollview但是有一个以不同速度滚动的背景图像以产生视差效果。 我想知道是否有一种方法可以连接到事件流,或者以某种方式将 Scrollviews 位置通过管道传
初始化程序中有一个带有 ScrollView(alwaysBounceVertical: false) 的属性,但我似乎找不到它了。 有谁知道如何禁用 SwiftUI ScrollView 上的垂直弹
在你说之前 “Google 说不要这样做” 请阅读我的所有问题!! 布局: ScrollView -> RelativeLayout -> ScrollView -> RelativeLayout 第
我想在 Windows 7 上创建一种体验(使用触摸),我可以在其中拥有一个只能垂直滚动的外部 ScrollViewer(它是屏幕的大小)。在那个 ScrollViewer 中,我将有几个其他的 Sc
我知道 Google 的人要求我们不要将 Scrollable View 放在另一个 Scrollable View 中,但他们是否有任何官方声明指示我们不要这样做? 最佳答案 试试这个 注意:这里
更新Xcode11 beta3后,我发现scrollview内部 View 的阴影会在边界处被切断,但在Xcode11 beta2中还可以。我只是使用底部填充来修复它,但我认为这不是一个好的解决方案。
我的 wpf 应用程序的结构如下: 我的目标是,如果 DataGrid 超过屏幕的高度来使用它自己的 Scrollviewer。目前只使用外部的 S
我在其他应用程序中使用了 ScrollView,只添加了 style={styles.container}与风格。然而,在这个应用程序中,我正在创建我的风格 alignItems:'flex-star
这是我的布局 xml。 ... 我已经尝试过此链接中的解决方案: ScrollView Inside ScrollVie
有没有办法在 nativescript 的 ScrollView 上隐藏滚动指示器?我试过 scrollBars='none' 和 css overflow='hidden' 但它不能同时工作。谢谢
所以我有一个 ScrollView ,里面有一个 TextView 。当文本的String长于屏幕宽度时,它只是在下一行中移动。我想通过在 ScrollView 中添加 HorizontalScr
我正在尝试在 android 的水平 ScrollView 中创建一个水平 ScrollView 。第一个水平 ScrollView 工作正常。当我尝试滚动时,第二个水平 ScrollView 不起作
我在同一布局中创建了两个 ScrollView。你可以说一个平行的 ScrollView 。我想手动滚动一个 ScrollView ,作为响应,另一个 ScrollView 应该以完全相同的方式滚动。
我在 android 中设计 UI,我在另一个 HorizontalScrollView 中有一个 HorizontalScrollView。但是,子 HorizontalScrollVi
我在另一个 ScrollView 中有 ScrollView 。我想滚动内部 ScrollView ,但外部 ScrollView 只滚动。如何解决这个问题? 谢谢。 最佳答案 sv01 =
我有两个 UIScrollView,如果用户在 ScrollView 中滚动,我想让另一个 ScrollView 也滚动。我已经阅读了一个解决方案,涉及将 pangesturerecognizer 从
我以编程方式创建了 UIScrollView 并向其中添加了多个 button。 它运行良好,没有任何问题。 但我需要通过复制先前 ScrollView 的内容来创建另一个 ScrollView 。
我是一名优秀的程序员,十分优秀!