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