Android图文混排,且有ListView,内容已经占满一屏,怎么实现上下滑动

wlccomeon 2015-03-17 03:18:09
我做的那个页面是Android的图文混排,效果如下:

我把ScrollView将最外层的LinearLayout包裹之后页面就运行不出来了,而且ListView的数据只能显示一行。。。。
查资料说,ScrollView和ListView不能同时使用。该怎么做才能实现我这个页面的上下滑动呢?
新手,刚开始Android开发,求大虾们帮忙~
...全文
716 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gn风城玫瑰 2015-03-26
  • 打赏
  • 举报
回复
推荐你个网址吧http://blog.csdn.net/qq_21709449/article/details/41210485,你可以看下,有详细的解决方案
lpk_6 2015-03-26
  • 打赏
  • 举报
回复
这样就能滑了 并且不会只显示一行。、
lpk_6 2015-03-26
  • 打赏
  • 举报
回复
自定义LISTview 里面加 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int ex = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 4, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, ex); } Activity代码里面 public void setListView(ListView lv) { // 获取ListView对应的Adapter ListAdapter listAdapter = lv.getAdapter(); if (listAdapter == null) { return; } int Height = 0; for (int i = 0; i < listAdapter.getCount(); i++) { // listAdapter.getCount()返回数据项的数目 View listItem = listAdapter.getView(i, null, lv); // 计算子项View 的宽高 listItem.measure(0, 0); // 统计所有子项的总高度 Height += listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = lv.getLayoutParams(); params.height = Height + (lv.getDividerHeight() * (listAdapter.getCount() - 1)); // listView.getDividerHeight()获取子项间分隔符占用的高度 // params.height最后得到整个ListView完整显示需要的高度 lv.setLayoutParams(params); } 添加这个方法固定listview的高度
1435076663 2015-03-26
  • 打赏
  • 举报
回复
用测量来做,高度通过代码去设置,我以前也遇到过,这个高度可以通过代码动态设置,这样的话ListView能完全显示,并且不影响ScrollView的滑动
C丶沉默久了 2015-03-18
  • 打赏
  • 举报
回复
@Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } 通过onMeasure计算呢?
icyblood198999 2015-03-18
  • 打赏
  • 举报
回复
引用 4 楼 wlccomeon 的回复:
[quote=引用 2 楼 icyblood198999 的回复:] 这个本身页面的逻辑就有问题,从我观察,lz的listview那块的内容应该是固定的吧,或者至少是制式的。制式的用listview意义本来就不是很大,弄成多行的textview即可。这样不就解决了lz的问题。
不是固定的,是从数据库里动态读取得。 我也不太会布局,只不过弄完之后跟原型图的样子像罢了。。。[/quote] 我的意思是他的数量上是可控的,可以理解为表格,只不过内容不同罢了,如果每个产品稍有区别,可以利用动态生成linerlayout,然后动态根据数量add进你的view里,就躲避了listview嵌套滚动的问题。
小东、、 2015-03-18
  • 打赏
  • 举报
回复
用下拉刷新+自定义适配
ken哥 2015-03-17
  • 打赏
  • 举报
回复
最简单就是linearLayoyt 使用addView(view),反正不涉及大量数据。通过遍历获取数据,填充到自定义view再add就可以了
wlccomeon 2015-03-17
  • 打赏
  • 举报
回复
引用 6 楼 chris_wsy 的回复:
其实就是scrollview的嵌套问题,你在一开始的时候获取listview单个item的高度然后计算出listview的高度,在代码动态设置下就可以了
我原来的ListView的高度设置的是 wrap_content,现在改成了具体的值,测试了一下可以滑动了。。。。 具体怎么动态获取item的高度,然后计算listview的告诉,我再看看。
ChrisArthas 2015-03-17
  • 打赏
  • 举报
回复
上面是解决listview只展示一行的问题,至于scrollview不能滑动你可以试着自定个listview,把onInterceptTouchEvent的返回值改为false
ChrisArthas 2015-03-17
  • 打赏
  • 举报
回复
其实就是scrollview的嵌套问题,你在一开始的时候获取listview单个item的高度然后计算出listview的高度,在代码动态设置下就可以了
wlccomeon 2015-03-17
  • 打赏
  • 举报
回复
引用 3 楼 bdmh 的回复:
把这些东西都放到scrollview中
我测试过,即使单独的把一个ListView放到ScrollView里,ListView中的内容只能显示一行。。。更何况,我在图中的布局用了俩ListView。。。
wlccomeon 2015-03-17
  • 打赏
  • 举报
回复
引用 2 楼 icyblood198999 的回复:
这个本身页面的逻辑就有问题,从我观察,lz的listview那块的内容应该是固定的吧,或者至少是制式的。制式的用listview意义本来就不是很大,弄成多行的textview即可。这样不就解决了lz的问题。
不是固定的,是从数据库里动态读取得。 我也不太会布局,只不过弄完之后跟原型图的样子像罢了。。。
bdmh 2015-03-17
  • 打赏
  • 举报
回复
把这些东西都放到scrollview中
icyblood198999 2015-03-17
  • 打赏
  • 举报
回复
这个本身页面的逻辑就有问题,从我观察,lz的listview那块的内容应该是固定的吧,或者至少是制式的。制式的用listview意义本来就不是很大,弄成多行的textview即可。这样不就解决了lz的问题。
wlccomeon 2015-03-17
  • 打赏
  • 举报
回复
另外,我中间的文字是用的两个listView显示的,虽然显示功能实现了,但总感觉怪怪的。。
内容概要:本文系统梳理了计算机组成原理的完整知识体系,重点围绕冯·诺依曼体系结构、五大核心硬件(运算器、控制器、存储器、输入/输出设备)、数据表示与运算、存储层级、CPU架构、总线系统及I/O控制机制展开,深入剖析了硬件底层如何支撑Java程序的运行,特别是与JVM内存模型、多线程并发、IO操作、性能调优等关键技术的紧密关联。文章强调通过理解二进制编码、补码运算、缓存机制、指令流水线、乱序执行、中断与DMA等底层原理,帮助Java开发者从根本上解释浮点精度丢失、数值溢出、线程安全、伪共享、IO阻塞等常见问题,并提供性能优化的硬件级视角。; 适合人群:具备一定Java开发基础,工作1-3年,希望深入理解JVM、并发编程、IO模型底层原理的后端研发人员。; 使用场景及目标:① 理解Java代码从编译到执行的完整软硬件链路;② 掌握JVM内存布局、GC机制、线程上下文切换、volatile与synchronized的硬件实现原理;③ 分析并解决高并发、高性能场景下的性能瓶颈,如缓存命中率低、伪共享、总线争用、IO阻塞等问题;④ 在面试中清晰阐述Java底层与计算机硬件的关联,展现扎实的系统功底。; 阅读建议:建议按照文档提供的“八、学习顺序”分阶段学习,每学完一个硬件模块,立即结合对应的Java技术点(如学到Cache时思考伪共享和@Contended)进行复盘,将抽象硬件原理具象化到日常开发场景中,以达到学以致用的目的。

80,488

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧