ViewPager高度自适应?height=wrap_content 无效、固定高度适配性差

来源:互联网 发布:阿里云怎么赚钱 编辑:程序博客网 时间:2024/06/08 16:11

        写的几个项目基本都有ViewPager实现Banner,最开始都是固定高度,让服务端返回图片比例控制一下(好低级)。。。

通过LayoutParmas动态改变ViewPager的高度


int viewPagerIndex = main.indexOf(viewPager);int childViewHeight = getChildViewHeight(); //获取ViewPager的子View的高度。LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, childViewHeight );//这里设置params的高度。main.removeView(viewPager);main.addView(viewPager, viewPagerIndex , params);//使用这个param

  
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {    int height = 0;    for (int i = 0; i < getChildCount(); i++) {        View child = getChildAt(i);        child.measure(widthMeasureSpec,                MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));        int h = child.getMeasuredHeight();        if (h > height)            height = h;    }    heightMeasureSpec = MeasureSpec.makeMeasureSpec(height,            MeasureSpec.EXACTLY);    super.onMeasure(widthMeasureSpec, heightMeasureSpec);}

0 0
原创粉丝点击