Android中全屏或者取消标题栏

先介绍去掉标题栏的方法:

第一种:也一般入门的时候经常使用的一种方法

  
  
requestWindowFeature(Window.FEATURE_NO_TITLE); // 去掉标题栏
注意这句一定要写在setContentView()方法的前面,不然会报错的

第二种:在AndroidManifest.xml文件中定义

  
  
< application android:icon = " @drawable/icon " android:label = " @string/app_name " android:theme ="@android:style/Theme.NoTitleBar" >

可以看出,这样写的话,整个应用都会去掉标题栏,如果只想去掉某一个Activity的标题栏的话,可以把这个属性加到activity标签里面

第三种:这种在一般的应用中不常用,就是在res/values目录下面新建一个style.xml的文件

例如:

  
  
<? xml version="1.0" encoding="UTF-8" ?> < resources > < style name ="notitle" > < item name ="android:windowNoTitle" > true </ item > </ style >   </ resources >

这样,我们就自定义了一个style,就相当于一个主题,然后在AndroidManifest.xml文件中定义

  
  
< application android:icon ="@drawable/icon" android:label ="@string/app_name" android:theme ="@style/notitle" >

这样也可以达到去掉标题栏的效果

三种去掉标题栏方法的总结

第一种,有的时候我们会看到,会先出现标题栏,然后再消失,因为我们只是在activity的oncreate方法中定义的,第二种相对第一种比较好一些,不会出现这种情况,第三种我个人感觉最好,这样把功能分开,便于维护和扩展

再介绍全屏的方法:

第一种

  
  
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

第二种

  
  
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

第三种

   
   
application android:icon ="@drawable/icon" android:label ="@string/app_name" android:theme ="@style/fullscreem"

好的,关于Android开发的问题,我可以给您提供一些帮助。下面是一个可以支持各个Android系统版本特性的工具类SystemUiUtil,具体方法如下: ```java public class SystemUiUtil { public static void setImmersiveMode(Activity activity, boolean immersive) { if (immersive) { activity.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); } else { activity.getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE); } } public static void setFullScreen(Activity activity, boolean fullscreen) { if (fullscreen) { activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); } else { activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); } } public static void hideNavigation(Activity activity, boolean hidden) { View decorView = activity.getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE; if (hidden) { uiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE; } decorView.setSystemUiVisibility(uiOptions); } public static void hideToolbar(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); ViewGroup decorViewGroup = (ViewGroup) activity.getWindow().getDecorView(); View statusBarView = new View(activity); ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity)); statusBarView.setBackgroundColor(Color.TRANSPARENT); decorViewGroup.addView(statusBarView, lp); } ActionBar actionBar = activity.getActionBar(); if (actionBar != null) { actionBar.hide(); } } public static void showToolbar(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); activity.getWindow().setNavigationBarColor(Color.BLACK); activity.getWindow().setStatusBarColor(Color.BLACK); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); ViewGroup decorViewGroup = (ViewGroup) activity.getWindow().getDecorView(); View statusBarView = decorViewGroup.getChildAt(0); if (statusBarView != null && statusBarView.getLayoutParams() != null && statusBarView.getLayoutParams().height == getStatusBarHeight(activity)) { decorViewGroup.removeView(statusBarView); } } ActionBar actionBar = activity.getActionBar(); if (actionBar != null) { actionBar.show(); } } public static int getStatusBarHeight(Context context) { int heightResId = context.getResources().getIdentifier( "status_bar_height", "dimen", "android"); if (heightResId > 0) { return context.getResources().getDimensionPixelSize(heightResId); } else { return 0; } } } ``` 在这个SystemUiUtil工具类,您可以看到有设置沉浸式、取消沉浸式、设置全屏取消设置全屏、隐藏底部导航栏、显示底部导航栏以及隐藏顶部状态栏和标题栏、显示隐藏顶部状态栏和标题栏的方法。同时,这个工具类还可以支持从Android6.0到Android11.0,您可以放心使用。如果您有其他的问题,可以继续问我哦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值