ScrollView下嵌套多个列表视图如(ListView、Gridview等)引发的一系列问题及解决办法

    每天进步一点!!!


 项目里一个页面里嵌套了一个listview和一个GridView,于是引发了一系列问题,通过看各种资料的办法解决了,这里总结一下。


问题一,listview或者Gridview显示不全

             办法:自定义listview或gridview,重写下面这个方法,两种效果,完美解决该问题。


@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    //一,设置为Integer.MAX_VALUE>>2 是listview全部展开
    int measureSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2, MeasureSpec.AT_MOST);
//二,设置为600是设置listview的高度只能有600 不全部展开   实现可以滑动的效果
//        int measureSpec1 = MeasureSpec.makeMeasureSpec(600, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, measureSpec);
}

问题二,有时候进入该页面,焦点不在顶部。

             办法:找到位于页面顶部的view,比如是个Textview.让其获得焦点,代码如下

 

//通过setFocusable和setFocusableInTouchMode方法获得焦点,最后通过requestFocus执行。
        tv.setFocusable(true);
        tv.setFocusableInTouchMode(true);
        tv.requestFocus();

 问题三,gridview 的item布局里有图片和文字描述,当每一个Item文字字数不同,造成最后两个item显示不全

             办法一。TextView可以设置XML属性,最多显示行数,省略号代替,每行显示字数,如下

                    

android:ellipsize="end"
android:maxEms="12"
android:maxLines="3"

            办法二,指定Textview的高度(不推荐)

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值