Android五种隐藏状态栏和标题栏的方法

Android五种隐藏状态栏和标题栏的方法

方法一:

public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { 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> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

方法三:

<!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <!-- 隐藏状态栏 --> <item name="android:windowFullscreen">true</item> <!-- 隐藏标题栏 --> <item name="android:windowNoTitle">true</item> </style>

方法四:动态显示隐藏状态栏

//隐藏状态栏 WindowManager.LayoutParams lp = context.getWindow().getAttributes(); lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; context.getWindow().setAttributes(lp); //显示状态栏 WindowManager.LayoutParams attr = context.getWindow().getAttributes(); attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); context.getWindow().setAttributes(attr);

方法五:动态显示隐藏状态栏

View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。

setSystemUiVisibility方法传入的实参分析:

setSystemUiVisibility(int visibility)方法可传入的实参为:

1. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,
Activity不全屏显示(恢复到有状态的正常情况)。
    2. View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。
    3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。
    4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。
    5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    6. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。
    8. View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。

package com.administrator.statubarapplication; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); assignViews(); setOnClicks(); } private void setOnClicks() { mButton1.setOnClickListener(this); mButton2.setOnClickListener(this); mButton3.setOnClickListener(this); mButton4.setOnClickListener(this); mButton5.setOnClickListener(this); mButton6.setOnClickListener(this); mButton7.setOnClickListener(this); } private LinearLayout mMain; private TextView mTextview; private Button mButton1; private Button mButton2; private Button mButton3; private Button mButton4; private Button mButton5; private Button mButton6; private Button mButton7; private void assignViews() { mMain = (LinearLayout) findViewById(R.id.main); mTextview = (TextView) findViewById(R.id.textview); mButton1 = (Button) findViewById(R.id.button1); mButton2 = (Button) findViewById(R.id.button2); mButton3 = (Button) findViewById(R.id.button3); mButton4 = (Button) findViewById(R.id.button4); mButton5 = (Button) findViewById(R.id.button5); mButton6 = (Button) findViewById(R.id.button6); mButton7 = (Button) findViewById(R.id.button7); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: //Activity全屏显示,且状态栏被隐藏覆盖掉 mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); mTextview.setText("Activity全屏显示,且状态栏被隐藏覆盖掉\nView.SYSTEM_UI_FLAG_FULLSCREEN"); break; case R.id.button2: mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); mTextview.setText("恢复到有状态的正常情况\nView.SYSTEM_UI_FLAG_VISIBLE"); break; case R.id.button3: mMain.setSystemUiVisibility(View.INVISIBLE); mTextview.setText("//隐藏状态栏,同时Activity会伸展全屏显示\nView.INVISIBLE"); break; case R.id.button4: mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); mTextview.setText("Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮\nView" + ".SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN \n View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION"); break; case R.id.button5: mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); mTextview.setText("Activity全屏显示,状态栏透明\nView.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION"); break; case R.id.button6: mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); mTextview.setText("隐藏虚拟按键\nView.SYSTEM_UI_FLAG_HIDE_NAVIGATION"); break; case R.id.button7: mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); mTextview.setText("状态栏低能显示,有一些会被隐藏\nView.SYSTEM_UI_FLAG_LOW_PROFILE"); break; default: break; } } }

时间: 2024-10-27 21:37:46

Android五种隐藏状态栏和标题栏的方法的相关文章

3种Android隐藏顶部状态栏及标题栏的方法_Android

本文包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法,分享给大家供大家参考,具体内容如下 方法一 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 隐藏标题栏 requestWindowFeature(Window.FEA

3种Android隐藏顶部状态栏及标题栏的方法

本文包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法,分享给大家供大家参考,具体内容如下 方法一 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 隐藏标题栏 requestWindowFeature(Window.FEA

Android实现隐藏状态栏和标题栏

  这篇文章主要介绍了Android实现隐藏状态栏和标题栏的相关资料,需要的朋友可以参考下 隐藏标题栏需要使用预定义样式:android:theme="@android:style/Theme.NoTitleBar". 隐藏状态栏:android:theme="@android:style/Theme.NoTitleBar.Fullscreen". ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <?xml

Android编程实现隐藏状态栏及测试Activity是否活动的方法

本文实例讲述了Android编程实现隐藏状态栏及测试Activity是否活动的方法.分享给大家供大家参考,具体如下: 一. 隐藏状态栏 方法如下:在程序中加入//remove title 的那部分代码即可实现. package cn.edu.pku; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public

Android 动态显示和隐藏状态栏详解及实例

Android 动态显示和隐藏状态栏 View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性. setSystemUiVisibility(int visibility)方法可传入的实参为: 1. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态的正常情况). 2. View.INVISIBLE:隐藏状态栏,同时A

Android编程实现禁止状态栏下拉的方法详解

本文实例讲述了Android编程实现禁止状态栏下拉的方法.分享给大家供大家参考,具体如下: 简介 项目需求APP全屏时,要禁止状态栏的下拉,这个应该是一个普遍的需求了吧,但Android系统没有直接提供给普通APP直接调用的接口.那么我们只能自己想办法增加接口去实现该功能了. 具体实现方法 1. 修改SystemUI 路径:==/frameworks/base/packages/SystemUI//src/com/android/systemui/statusbar/phone/PhoneSta

五种SQL Server分页存储过程的方法及性能比较_MsSql

在SQL Server数据库操作中,我们常常会用到存储过程对实现对查询的数据的分页处理,以方便浏览者的浏览.本文我们总结了五种SQL Server分页存储过程的方法,并对其性能进行了比较,接下来就让我们来一起了解一下这一过程. 创建数据库data_Test : create database data_Test GO use data_Test GO create table tb_TestTable --创建表 ( id int identity(1,1) primary key, userN

五种SQL Server分页存储过程的方法及性能比较

在SQL Server数据库操作中,我们常常会用到存储过程对实现对查询的数据的分页处理,以方便浏览者的浏览.本文我们总结了五种SQL Server分页存储过程的方法,并对其性能进行了比较,接下来就让我们来一起了解一下这一过程. 创建数据库data_Test : create database data_Test GO use data_Test GO create table tb_TestTable --创建表 ( id int identity(1,1) primary key, userN

Android实现隐藏状态栏和标题栏_Android

隐藏标题栏需要使用预定义样式:android:theme="@android:style/Theme.NoTitleBar". 隐藏状态栏:android:theme="@android:style/Theme.NoTitleBar.Fullscreen". <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://