Android - 标题栏的高度

时间:2014-11-18 23:22:16

标签: android runnable titlebar

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

我需要这个才能知道应用可以使用的实际高度。

我在SO上看到了一些代码,我尝试了它并返回height = 0.

所以,我做了一些搜索,我发现我必须把它放在一个runnable中并用延迟后调用它。

以下是代码:

    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

1 个答案:

答案 0 :(得分:0)

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