ViewPager不将高度换行到其内容



ViewPager不会将其高度包裹到内容中。对于我的布局,我需要动态设置高度,因为它嵌套在其他布局中。因此,我创建了一个ScrollView作为ViewPager的内容,并在Fragment的onCreate方法中检查其高度,但ScrollView的大小始终相同。如何包装ViewPager的高度以适应其内容?

        final ScrollView sv = (ScrollView) v.findViewById(R.id.sv);
        ViewTreeObserver vto = sv.getViewTreeObserver(); 
        vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
            @Override 
            public void onGlobalLayout() {
                int height = sv.getMeasuredHeight();
                //always same height independent of content height
                //need to resize ViewPager

                ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) mPager.getLayoutParams();
                params.height = height;
                mPager.setLayoutParams(params);
            } 
        });

尝试了很多东西,终于成功了。-最初将ViewPager设置为较大的高度,以适应所有可能的内容,而不是降低其高度-必须嵌套2 LinearLayout才能获得正确的高度。hth

最新更新