0

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

屏幕通常包含:

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

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

我的事情是,因为我在创建时这样做,尺寸还没有弄清楚。当程序运行时,我可以使用 layout.getWidth()。我将如何获得适用工作空间的尺寸?如果我得到屏幕尺寸,它是全屏,我不想要那个......因为菜单栏被计算在内。

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

4

1 回答 1

0

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

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

onCreate() 中的示例代码:

LinearLayout ll = (LinearLayout)findViewById(R.id.LinearLayout);
ll.post(new Runnable(){
    public void run() {
        //get dimensions in here.   
    }
});
于 2012-10-09T13:50:22.527 回答