ScrollView下的ListView问题解决

简介: 问题描述:在一个复合布局当中,有TextView、ListView、Button等,除了button之外,其余高度不定,是动态变化的,很容易超过一个屏幕的高度,这个时候我们需要给总布局添加一个ScrollView,但因为ListView集成与ScrollView,所以会导致listview的Scroll效果失效; 解决方法:找了很多方法,大体思路是动态设计ListView的Item高度,

问题描述:在一个复合布局当中,有TextView、ListView、Button等,除了button之外,其余高度不定,是动态变化的,很容易超过一个屏幕的高度,这个时候我们需要给总布局添加一个ScrollView,但因为ListView集成与ScrollView,所以会导致listview的Scroll效果失效;

解决方法:找了很多方法,大体思路是动态设计ListView的Item高度,经过不断找文章,试demo,终于发现网友一个解决方法,现在分享给大家~

解决思路:重写ListView,改写onMeasure方法

package com.jby.exam;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;

public class VoteList extends ListView {

	public VoteList(Context context) {
		super(context);
	}
	
	public VoteList(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}

	public VoteList(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	@Override
	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
	}
}




注意:XML布局文件引用自己的控件,需要写好包名,如:

<com.jby.exam.VoteList
      android:id="@+id/vote_listview"
      android:layout_height="wrap_content"
      style="@style/vote_listview" >
</com.jby.exam.VoteList>


相关文章
|
Android开发
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
C#-ListView的使用
ListView顾名思义用来做列表数据展示,也是我们在开发中经常使用的控件之一,接下来将展示下它的一些使用场景,以满足不同的需求。
161 0
|
C#
C#-ListView
C# ListView
115 0
Flutte 之 ListView
Flutte 之 ListView
103 0
Flutte 之 ListView
|
监控 前端开发 iOS开发
|
XML Android开发 数据格式
ListView
在这里给大家分享Android的ListView控件的一些经验,能力有限,还望大家多多指教,不喜勿喷哦,kensoon918@163.com only for feedback
1552 0
ListView在ScrollView中不显示全部的问题
  在实际应用中,我们可能会遇到把ListView放到ScrollView中的情况,在这种情况下,ListView的滑动属性与ScrollView的滑动出现冲突,从而ListView只显示一项。这里提供一种解决方案,就是设置ListView中每个Item的高度显示之,使他失去滑动的属性,从而适应ScrollView的滑动。
934 0
|
Android开发 数据格式 XML
ListView的使用
ListView样式设置 取消Item点击变色效果 android:listSelector=”@android:color/transparent” Item条目高度的设定 ...
809 0