ViewPager高度自适应

来源:互联网 发布:js array find方法 编辑:程序博客网 时间:2024/05/21 07:50

最进项目中遇到了,ScrollView嵌套ViewPager并且ViewPager里面的Fragment每个的高度不同,每次滑动希望只包含内容,而不是像网上一样设置最大高度。自定义ViewPager

public class CustomViewPager extends ViewPager {    private int current = 0;    private int height;    public CustomViewPager(Context context, AttributeSet attrs) {        super(context, attrs);    }    public CustomViewPager(Context context) {        super(context);    }    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        View child = getChildAt(current);        if (child != null) {            child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));            height = child.getMeasuredHeight();        }        heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);        super.onMeasure(widthMeasureSpec, heightMeasureSpec);    }    public void reSetheight(int position) {        this.current = position;        LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) getLayoutParams();        if (layoutParams == null) {            layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, height);        } else {            layoutParams.height = height;        }        setLayoutParams(layoutParams);    }

0 0
原创粉丝点击