如何在 onCreate 期间确定活动的尺寸(宽度和高度)。尺寸不能是整个屏幕的尺寸,而只能是 Activity 使用的区域的尺寸。我尝试在 SO 上发布的一些方法最终都给出了设备的最大屏幕尺寸。
问问题
132 次
2 回答
0
您是否尝试过(不完全是 onCreate):
activityRootView = findViewById(R.id.yourRootView);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//activityRootView.getHeight();
//...
}
}
});
当然,您的活动主布局必须匹配父级或填充内容
于 2013-07-31T09:09:22.147 回答
0
整个用户内容都去了,android.R.id.content
所以你可以做的是
final Rect rectgle = new Rect();
LinearLayout mContent = (LinearLayout)findViewById(android.R.id.content).getParent();
mContent.getWindowVisibleDisplayFrame(rectgle);
// and use
//rectgle.top;
//rectgle.left
//rectgle.right
这包括操作栏,如果你想排除操作栏也直接使用
//findViewById(android.R.id.content);
它返回一个FrameLayout
于 2013-07-31T09:34:26.823 回答