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