我想获得标题栏的高度(而不是状态栏)
我需要这个以便知道应用程序可以使用的实际高度。
我在SO上看到了一些代码,并尝试了它,然后返回height = 0。
所以,我进行了更多搜索,发现我必须将其放在可运行的内部,并用后延迟名称进行调用。
这里是代码:
Handler mHandler = new Handler();
Runnable r = new Runnable() {
@Override
public void run() {
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int titleHeight = frame.top;
Log.d(TAG, titleHeight);
}
};
mHandler.postDelayed (r, 200);
这正在工作。 Log.D
显示正确的高度,但是现在出现了一个新问题。我不能使用titleHeight变量进行进一步编程在我的onCreate中。
该怎么办?
谢谢,AJ
该变量的范围在run方法内部。如果要引用该变量,则应将其更改为更大的范围(在此方法之外定义)。