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);
}
});
答案 0 :(得分:-2)
尝试了很多东西,终于搞定了。 - 最初将ViewPager设置为一个很大的高度,以适应所有可能的内容,而不是降低其高度 -had嵌套2 LinearLayout以获得正确的高度。 HTH