0

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);
            } 
        });
4

1 回答 1

-2

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

于 2012-09-09T22:40:05.680 回答