Android全屏(包含3种隐藏顶部状态栏及标题栏和一种隐藏Android(安卓)4.0平板底部状态栏的方法)
16lz
2021-01-24
方法一
[java] view plain copy- publicclassMainActivityextendsActivity
- {
- @Override
- protectedvoidonCreate(BundlesavedInstanceState)
- {
- super.onCreate(savedInstanceState);
- //隐藏标题栏
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- //隐藏状态栏
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.activity_main);
- }
- }
- <!--同时隐藏状态栏和标题栏-->
- <activity
- android:name="com.ysj.demo.MainActivity"
- android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
- android:label="@string/app_name">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- <!--Applicationtheme.-->
- <stylename="AppTheme"parent="AppBaseTheme">
- <!--AllcustomizationsthatareNOTspecifictoaparticularAPI-levelcangohere.-->
- <!--隐藏状态栏-->
- <itemname="android:windowFullscreen">true</item>
- <!--隐藏标题栏-->
- <itemname="android:windowNoTitle">true</item>
- </style>
注:
1、方法一中的两段代码要在setContentView()之前。
2、方法二只能同时隐藏状态栏和标题栏。
3、方法一和方法二都只应用于单个Activity。方法三应用于整个程序。
对于运行Android 4.0以上系统的平板电脑,以上三种方法都不会隐藏屏幕下方的状态栏,须做如下处理。
[java] view plain copy- publicclassStartupActivityextendsActivity
- {
- @Override
- protectedvoidonCreate(BundlesavedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_startup);
- /*
- *隐藏运行Android4.0以上系统的平板的屏幕下方的状态栏
- */
- try
- {
- StringProcID="79";
- if(android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH)ProcID="42";//ICS
- //需要root权限
- Processproc=Runtime.getRuntime().exec(newString[]{"su","-c","servicecallactivity"+ProcID+"s16com.android.systemui"});//WAS
- proc.waitFor();
- }
- catch(Exceptionex)
- {
- Toast.makeText(getApplicationContext(),ex.getMessage(),Toast.LENGTH_LONG).show();
- }
- }
- @Override
- protectedvoidonDestroy()
- {
- //TODOAuto-generatedmethodstub
- /*
- *恢复运行Android4.0以上系统的平板的屏幕下方的状态栏
- */
- try
- {
- Processproc=Runtime.getRuntime().exec(newString[]{"am","startservice","-n","com.android.systemui/.SystemUIService"});
- proc.waitFor();
- }
- catch(Exceptione)
- {
- e.printStackTrace();
- }
- super.onDestroy();
- }
- @Override
- publicbooleanonCreateOptionsMenu(Menumenu)
- {
- //Inflatethemenu;thisaddsitemstotheactionbarifitispresent.
- getMenuInflater().inflate(R.menu.startup,menu);
- returntrue;
- }
- @Override
- publicbooleanonOptionsItemSelected(MenuItemitem)
- {
- //TODOAuto-generatedmethodstub
- switch(item.getItemId())
- {
- caseR.id.action_exit:
- finish();
- break;
- }
- returntrue;
- }
- }
更多相关文章
- Android中JNI高级应用 - 本地C代码中创建Java对象及本地JNI对象
- 动态权限
- android中获取string字符串的方法
- Android屏幕100%适配方案
- java.lang.IllegalStateException Fragment already added: Home
- android软件盘的开关
- Android面试-Android部分
- Android(安卓)MediaPlayer使用方法简单介绍
- Android(安卓)将Uri转换成File