1

我编写了一个应用程序,其主要活动 GUI 由 XML 布局文件指定的相对布局内的多个按钮和文本视图组成。它占据了大约一半的景观宽度和三分之二的高度。

我希望使用全屏画布调用子活动,当激活该画布时,它会覆盖然后暂停的主活动 GUI。

我制作了一个单独的应用程序,它使用名为 DrawView 的 onDraw(Canvas) 类,当作为独立应用程序运行时,它提供了我想要的全屏画布。它由一个活动构成,其代码如下所示。

我遇到的问题是,当我将此代码合并到我的主包中并从主活动启动画布活动时,画布的窗口宽度根据 getWidth() 方法从 1280 像素减少到 696 像素。看来我的父主要活动限制了子活动窗口的大小。我不知道是什么导致了这种宽度减小,也不知道如何控制它。我尝试了很多选择都无济于事。如何防止这种宽度减小发生?它是由 Android 方案控制的吗?这可以被覆盖吗?

提前感谢您的帮助!

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Set full screen view
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,  
                             WindowManager.LayoutParams.FLAG_FULLSCREEN);

        drawView = new DrawView(this);
        setContentView(drawView);
        drawView.requestFocus();
        drawView.setBackgroundColor(0xFFFFFFFF);            
    }
4

1 回答 1

1

我在这里回答我自己的问题,以防万一有其他人不熟悉我想常见的高级图形术语遇到同样的问题。

我需要做的就是删除此活动的清单文件“主题”行:

android:theme="@android:style/Theme.Holo.Dialog"

对话框主题将活动窗口的大小限制为典型的用户输入对话框屏幕大小。

于 2013-01-12T02:53:29.470 回答