我知道此问题之前已被问过但未获得准确的解决方案。 我想从我的活动中隐藏ActionBar和NavigationBar,或者要将其全屏显示。我在我的Activities OnCreate方法中尝试了以下代码,但是它显示了Action Bar几秒钟而不是全屏。在Galaxy S3(android 4.3)中,它甚至超过了一秒钟。所以我怎样才能让它完全看不见,我的活动从一开始就完全全屏。 我看到很多应用程序只在S3上运行,但它们不是ActionBar,甚至不是几秒钟。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT < 19) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
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_STICKY);
}
}
答案 0 :(得分:2)
在AndroidManifest文件中写
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
并使用
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
befor setContentView(R.layout.activity_main);
答案 1 :(得分:2)
在您的活动的onCreate
功能中,在setContentView
之前添加此代码:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
在AndroidManifest
文件中写
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
如果您的应用程序的最低SDK版本是19(KitKat),那么您必须向onResume
函数添加一段代码:
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_STICKY );
答案 2 :(得分:0)
在您的清单中的活动声明中尝试android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
。
答案 3 :(得分:0)
在setContentView
之前尝试这个 //Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
答案 4 :(得分:0)
此Android Developer和This Post演示Immersive Full-Screen Mode
,可让您的应用全屏显示。
<强> tltr; 强>
试试我从Android开发者网站获得的这个片段:
View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
希望我帮忙!
答案 5 :(得分:0)
我认为你必须写
getActionBar().hide(); (Above Api level 11)
或
getSupportActionBar().hide();(Up to Api level 8)
多数民众赞成......