我的活动有一个自定义视图类,我想制作全屏。 根据其他答案,我应该致电
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
在Activity.onCreate中但它对我不起作用(至少在模拟器中)。默认大小不会更改。到目前为止唯一有效的是
getWindow().setLayout(600, 400);
或任何其他固定值。使用MATCH_PARENT调用setLayout也不起作用(我尝试了其他方法,但没有成功)。 所以问题是:开始最大化活动的规范方法是什么? (有点像在优雅意义上完全放映,也就是不隐藏标题栏,状态栏等)。
提前致谢 奥拉夫
编辑1:
这是相关部分:
public void onCreate(Bundle b) {
super.onCreate(b);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
tableView = new DrawView(this);
setContentView(tableView);
}
我在上面的代码段中读了FEATURE_NO_TITLE标志 因为我不知道在android世界中这是 被认为是默认值(但对我来说完全没问题)。 DrawView是View的直接子类,但没有 覆盖onMeasure。也没有layout.xml。 效果是(预期不可见)窗口, 这是一个很小的(或至少包含DrawView)。 我试过XOOM和Galaxy皮肤。
更新2: 问题似乎不在源代码中。我试过BitmapPixels 来自ApiDeoms,它按预期工作(全尺寸窗口)。然后我在一个新的项目中复制了源代码(只有一个文件),然后突然得到了相同的结果:app只覆盖了屏幕的一小部分(并且一个位图被剪裁)。 我想这与父活动有关。但是我发现APIDemos的项目属性和我的测试项目之间没有任何区别。