2012-09-08 2 views
-1

ViewPager의 높이가 내용에 맞춰지지 않습니다. 내 레이아웃의 경우 다른 레이아웃에서 중첩되어 있으므로 동적으로 높이를 설정해야합니다. 따라서 ScrollView를 ViewPager의 컨텐츠로 생성하고 Fragment의 onCreate 메소드에서 높이를 확인했지만 ScrollView는 항상 같은 크기를 유지합니다. 콘텐츠에 맞게 ViewPager의 높이를 감쌀 수 있습니까?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); 
      } 
     }); 
+0

더 적절한 답변이있는 http://stackoverflow.com/questions/8394681/android-i-am-unable-to-have-viewpager-wrap-content의 중복입니다. – 3c71

답변

-2

많은 것을 시도하고 마침내 얻었습니다. - 가능한 모든 내용에 맞게 ViewPager를 큰 높이로 설정하고 높이를 줄이지 않도록 - 올바른 높이를 얻으려면 2 개의 LinearLayout을 중첩시켜야합니다. hth

+11

수정 사항을 사용하여 레이아웃의 일부 샘플 코드를 게시 할 수 있습니까? – MOST2K2

+0

ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) mPager.getLayoutParams(); params.height = height; mPager.setLayoutParams (param.heigt); – user1324936

관련 문제