Android-标题栏的高度

问题描述 投票:0回答:1

我想获得标题栏的高度(而不是状态栏)

我需要这个以便知道应用程序可以使用的实际高度。

我在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

android runnable titlebar
1个回答
0
投票

该变量的范围在run方法内部。如果要引用该变量,则应将其更改为更大的范围(在此方法之外定义)。

© www.soinside.com 2019 - 2024. All rights reserved.