本文主要是介绍ScrollView嵌套ListView listview获取焦点把ScrollView顶上去的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://blog.csdn.net/zzh_receive/article/details/53176962
ScrollView嵌套ListView listview获取焦点把ScrollView顶上去的解决办法
有时候应用中需要ScrollView嵌套ListView,但是往往listView会获取焦点占满屏幕,以致于ScrollView的其他控件无法显示,解决的办法:
//重写ScrollView
@Override protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) { return 0; }
当然,ScrollView嵌套listView为了滑动正常及正确的显示,也需要重写ListView
import android.content.Context; import android.util.AttributeSet; import android.widget.ListView; class ListViewForScrollView extends ListView { public ListViewForScrollView(Context context) { super(context); } public ListViewForScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public ListViewForScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override /** * 重写该方法,达到使ListView适应ScrollView的效果 */ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec); } }
这篇关于ScrollView嵌套ListView listview获取焦点把ScrollView顶上去的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!