我正在尝试获取当前屏幕空间的尺寸。我认为这是根布局的维度

时间:2012-10-05 17:27:29

标签: java android xml android-layout

当你在设计某些东西时,你必须从布局开始。

屏幕通常包含:

 [         title bar                ]
 |----------------------------------|
 |                                  |
 |         layout/activity          |
 |                                  |
 |----------------------------------|
 [         menu bar                 ]

我删除了标题栏,但尝试考虑菜单栏以获取布局或活动的宽度和高度。

我的意思是,因为我在创建它时,尺寸还没有找到。程序运行时,我可以使用layout.getWidth()。我如何获得适用工作空间的尺寸?如果我得到屏幕尺寸,它是全屏,我不想要那....因为菜单栏被计算。

这是平板电脑,我不能删除菜单栏。你们有谁知道吗?

1 个答案:

答案 0 :(得分:0)

当你有一个View时,你可以使用View.post()来运行它就像一个线程(hense为什么它被称为runnable)。这样做的好处是,当您在根布局中实现它时,它会将内容发布到屏幕上。这样,然后允许您获取正在查找的资产,屏幕尺寸。

您没有获得屏幕尺寸的原因是基于程序的生命周期。 onCreate没有在屏幕上呈现任何内容,因此无法通过运行中的那一点知道内容的尺寸。

onCreate()中的示例代码:

LinearLayout ll = (LinearLayout)findViewById(R.id.LinearLayout);
ll.post(new Runnable(){
    public void run() {
        //get dimensions in here.   
    }
});