ViewPager不会将高度换行到其内容

时间:2012-09-08 09:28:42

标签: android android-layout android-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);
            } 
        });

1 个答案:

答案 0 :(得分:-2)

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