美文网首页
动态设置viewpager宽度

动态设置viewpager宽度

作者: 李新阳 | 来源:发表于2019-10-08 17:11 被阅读0次

继承一个viewpager,建立一个方法

public int getChildWidth(int p)

{

View child = getChildAt(p);

  if (child!=null)

{

int h = child.getMeasuredWidth();

      return h;

  }

else {

return  0;

  }

}

vp中设置

vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

@Override

        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

//计算ViewPager现在应该的高度,heights[]表示页面高度的数组。

            int width = (int) (vp.getChildWidth(position));

//          Log.e("TAG","width"+width);

//为ViewPager设置高度

            if (width!=0){

ViewGroup.LayoutParams params =vp.getLayoutParams();

              params.width = width;

              vp.setLayoutParams(params);

            }

}

@Override

        public void onPageSelected(int position) {}

@Override

        public void onPageScrollStateChanged(int state) {}

});

相关文章

网友评论

      本文标题:动态设置viewpager宽度

      本文链接:https://www.haomeiwen.com/subject/cstipctx.html