ScrollView内嵌ListView

对于ScrollView内嵌ListView,我们需要解决两个问题。

1.ListView在layout_height为以下三种任何一种情况的时候,仅一个item可见的问题。

    wrap_content

match_parent

    0dp+ layout_weight = 1

解决方案:

  1.给ListView设置固定height。

  2.继承ListView重写onMeasure().如

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {    int size = MeasureSpec.getSize(heightMeasureSpec);    int mode = MeasureSpec.getMode(heightMeasureSpec);    Log.d(TAG, "onMeasure size = " + size + " mode = " + mode);    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 3, MeasureSpec.AT_MOST);    super.onMeasure(widthMeasureSpec,expandSpec );
}

2.ListView内的元素无法滑动的问题。

解决方案

 

时间: 2024-10-23 04:54:55

ScrollView内嵌ListView的相关文章

ScrollView内嵌套ListView时的显示与滑动问题

最近的项目中遇到了SrcollView内嵌ListView的需求,要求ListView内容全部展示,但是实际效果ListView却只显示了一行,一开始以为是代码异常了,只生成了一行视图,实际上就是SrcollView和ListView的冲突问题.解决办法就是禁止ListView的滑动. 一.自定ListView,其实就是包了一层处理而已,很简单. package com.hundsun.bridge.view; import android.content.Context; import and

ScrollView内嵌EditText滚动事件冲突处理

开门见山!如果EditText内容过长,但控件高度有限的时候,在滑动内容的时候就会有滑动冲突了,处理方式是要先判断EditText内容是否过长,即可滚动时,设置父容器(即ScrollView)分发事件为关闭状态,否则为打开状态.附上相关代码: 判断EditText内容是否过长可滚动: public static boolean canVerticalScroll(EditText editText) {     // 滚动的距离     int scrollY = editText.getScr

ScrollView里面添加ListView时,解决ListView的显示问题

在ScrollView里面添加ListView时,看了很多其他人的讲述,好像ListView只显示一条信息,为此简单新写了一个ListView控件,在布局文件里调用就可以了,代码如下: 1:ScrollViewWithListView.java 1 package com.ghp.view; 2 3 import android.widget.ListView; 4 5 /** 6 * 7 * @Description: scrollview中内嵌listview的简单实现 8 * 9 * @F

Android学习之——如何将GridView内嵌在ScrollView中

最近在做一个项目,有一个需求是在ScrollView中内嵌一个GridView. 刚开始,我是以为能直接内嵌在里面: 1 <ScrollView 2 android:layout_width="match_parent" 3 android:layout_height="0dp" 4 android:layout_weight="5.5"> 5 <GridView 6 android:id="@+id/gridView

【Android】内嵌数据库IDE(可视化操作类)

Android开发的朋友应该对数据库内容的管理深有体会,想看一下放入数据库的内容都不是很方便,要么用root的设备导出来看或用第三方的手机版的ide.但是都要求root之后.最近一直在想android方便快捷的方法,今天刚好弄到了数据库这块.就写了一个Activity专门用来看数据库的,功能就是看对应数据库的表及表中的数据库. 效果图 刚写还没来得及美化,后面在使用过程中再时行完善. DBIDEActivity.java import java.util.ArrayList; import ja

解决Android中,禁止ScrollView内的控件改变之后自动滚动

问题: 最近在写一个程序界面,有一个scrollVIew,其中有一段内容是需要在线加载的. 当内容加载完成后,ScrollView中内容的长度会发生改变,这时ScrollView会自动下滚,如下图所示: 滚动的那一下体验特别不好,所以要防止这种情况.即不论Scrollview中内容如何,都要保持在最上. 解决办法: 先简单写一下我的xml文件的结构: [html] view plaincopy <ScrollView android:id="@+id/scrollView1" a

uiscrollview 内嵌 uiwebview,uiwebview 内又嵌入一个listbox

Q:uiscrollview中有多个uiwebview,左右滑动会切换uiwebview, 其中一个 uiwebview 中内嵌一个css写的listbox,listbox中有多张图片,左右滑动图片会切换. 如何区别这2种滑动,在listbox种滑动时不让uiscrollview也滑动,在webpage的其他地方左右滑动让uiscroolview做切换. A:通过引入gestureRegnize来判断touch 点,用js获得uiwebview 处的元素,此处通过元素名称IMG及其源src来判断

解决ScrollView下嵌套ListView/GridView进页面不在顶部的问题以及数据显示不全的问题( 只显示一行)

在网上看到如下的解决方案,我现在定义了多个listview,所以出现了有时候起作用有时候不起作用,错误的解决方法如下: 错误解决方案1: 错误解决方案2: 正确解决方案,重写ScrollView,添加如下方法 正确解决方案: /** * 禁止ScrollView内布局变化后自动滚动 */ @Override protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) { return 0; } 解决了上面的问题,其实在Scr

GCC在C语言中内嵌汇编 asm __volatile__ 【转】

转自:http://blog.csdn.net/pbymw8iwm/article/details/8227839 在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作. 1.简单的内嵌汇编 例: __asm__ __volatile__("hlt"); "__asm__"表示后面的