0

ViewPager は、その高さをコンテンツにラップしません。私のレイアウトでは、他のレイアウトにネストされているため、高さを動的に設定する必要があります。そのため、ViewPager のコンテンツとして ScrollView を作成し、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を大きな高さに設定して、すべての可能なコンテンツに合わせ、高さを下げないようにします。-正しい高さを取得するには、2LinearLayoutをネストする必要がありました。hth

于 2012-09-09T22:40:05.680 に答える