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);  
    }  
}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值