【发布时间】:2016-06-13 15:31:55
【问题描述】:
我正在尝试将 viewpager 的大小调整为页面的其余部分。我有这个 globallayout 监听器:
ViewTreeObserver viewTreeObserver = pager.getViewTreeObserver();
viewTreeObserver
.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
int viewPagerWidth = pager.getWidth();
float viewPagerHeight = Constants.screenHeight - findViewById(R.id.view_above_pager).getBottom();
Log.i("","viewpager height:" + viewPagerHeight);
layoutParams.width = viewPagerWidth;
layoutParams.height = (int) viewPagerHeight;
pager.setLayoutParams(layoutParams);
pager.setMinimumHeight((int)viewPagerHeight);
pager.getViewTreeObserver()
.removeGlobalOnLayoutListener(this);
Log.i("","viewpager height2:" + pager.getHeight());
}
});
显然是第一个日志,viewPagerHeight 上显示:viewpager height:530.0 但是寻呼机上的第二个显示为 0。为什么会这样?不应该刷新高度吗?
【问题讨论】:
标签: android resize android-viewpager height layoutparams