美文网首页
动态设置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