android:visibility="gone"
在java代码中
findViewById(R.id.)
获得那个布局然后
参数分别为 View.INVISIBLE (不显示,仍占有内存)、View.GONE(不显示,不占用内存)和 View.VISIBLE。
这篇文章主要介绍了方法一:(经试验无效,但网上广为流传,也许是我使用方法不当,有待进一步验证)
android想要应用运行时全屏有一种方法是在activity的onCreat方法中加入如下代码:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN)并且需要在setContentView()之前,否则无效过。从这么多的苛刻条件可以看出这种方法无法满足动态控制。
下面的方法可以满足这个需要。调用View的
setSystemUiVisibility()
方法,其参数如下:
代码如下:
View.SYSTEM_UI_FLAG_FULLSCREEN,
//全屏,状态栏和导航栏不显示
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,
//隐藏导航栏
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,
//全屏,状态栏会盖在布局上
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,
View.SYSTEM_UI_FLAG_LAYOUT_STABLE,
View.SYSTEM_UI_FLAG_LOW_PROFILE,
View.SYSTEM_UI_FLAG_VISIBLE,
//显示状态栏和导航栏
View.SYSTEM_UI_LAYOUT_FLAGS
方法二:(试验成功)
直接调用此方法即可实现对状态栏的控制;
代码如下:
private
void
full(boolean
enable)
{
if
(enable)
{
WindowManager.LayoutParams
lp
=
getWindow().getAttributes()
lp.flags
|=
WindowManager.LayoutParams.FLAG_FULLSCREEN
getWindow().setAttributes(lp)
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
}
else
{
WindowManager.LayoutParams
attr
=
getWindow().getAttributes()
attr.flags
=
(~WindowManager.LayoutParams.FLAG_FULLSCREEN)
getWindow().setAttributes(attr)
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)