我在全屏布局上以编程方式创建了一些按钮。也就是说,我在活动开始时有以下代码。
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
..所以活动开始了,我创建了按钮。一切看起来都很好,按钮的大小和我期望在屏幕上的位置(右下角)完全正确,并且文本在按钮内完美居中。
然后当我使用互联网调用其他一些活动然后返回到原始时,就会出现问题。此时,当我的屏幕被重新绘制时,您会注意到轻微的抖动,就好像屏幕被稍微偏移绘制然后快速重新定位一样。生成的最终屏幕看起来基本没问题,除了底部的按钮出现裁剪。
这发生在我的三星 Galaxy SII 上,但在我的 Galaxy Tab 10.1 上没有明显问题。如果我注释掉这些行,这两个设备上也没有问题:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
您可以在此处看到裁剪后的按钮:
有没有人遇到过类似的问题?如果是这样,它是如何解决的?
编辑:我的直觉是,不知何故,状态栏只是被缓慢移除,而按钮被定位在屏幕上,而屏幕仍在向上滑动状态栏消失的过程中......但也许这个想法是一条红鲱鱼。