Sae*_*ani 22 android android-view android-4.4-kitkat
我想让一个活动进入IMMERSIVE模式并在它启动时隐藏顶部和底部系统栏.
在android开发者网站上,他们说我应该使用setSystemUiVisibility()并提供SYSTEM_UI_FLAG_IMMERSIVE 和SYSTEM_UI_FLAG_HIDE_NAVIGATION.
我怎么能OnCreate()在活动的方法中这样做?我认为setSystemUiVisibilityActivity类中没有提供它,它应该在视图中发生.有解决方法吗?
UPDATE
确定根据门把我添加了以下行,但我没有看到任何更改,导航栏和按钮按钮仍然可见:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
}
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE);
}
//Rest of activity code
Run Code Online (Sandbox Code Playgroud)
doo*_*uck 45
获取装饰视图:
getWindow().getDecorView().setSystemUiVisibility(...)
Run Code Online (Sandbox Code Playgroud)
请记住,参数是位标志.只调用上面的方法一次:
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE);
Run Code Online (Sandbox Code Playgroud)
Chris Banes的主要内容展示了一个很好的Helper类,我们可以用它来为HoneyComb到Lollipop的所有版本设置沉浸式模式https://gist.github.com/chrisbanes/73de18faffca571f7292.
更新:我尝试从他的github repo中获取它以包含在我的项目中,但我必须将gist文件克隆到我的项目中并调整packagename.如果有人知道如何正确地将其作为依赖项包含在内,那么欢迎您帮助我.
我在我的FullScreenActivity中添加了它,我想使用ImmersiveStickyMode,如下所示:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
SystemUiHelper uiHelper = new SystemUiHelper(this, SystemUiHelper.LEVEL_IMMERSIVE ,flags);
uiHelper.hide();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32811 次 |
| 最近记录: |