【Android】Activity全屏显示解决方案

来源:互联网 发布:软件项目开发流程 编辑:程序博客网 时间:2024/06/07 22:47

在这里附上一篇文档,主要讲解怎样隐藏屏幕底部的NavigationBar

Android 全屏方案(隐藏NavigationBar)


在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果:

  • 通过在代码中onCreate()方法设置
  • 通过manifest 清单文件来设置全屏

其一:在代码onCreate()方法的setContentView前面设置

代码如下:

public 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.main); }

但要注意的是:在代码中设置,设置无标题和设置全屏的两段代码要放置在 setContentView(R.layout.main) 的前面。不然会报错。


其二:在manifest 清单文件中设置

  • 第一种方法

①在res/values 目录创建个theme.xml文件(用来放样式)

<?xml version="1.0" encoding="utf-8"?> <resources>     <!-- name 是Style的名称,parent 继承那个父类样式 -->     <style name="theme_fullScreen" parent="android:Theme.Black">     <item name="android:windowNoTitle">true</item> <!-- 设置无标题 -->     <item name="android:windowFullscreen">?android:windowNoTitle</item>         取决于android:windowNoTitle的值-->    </style> </resources>

<activity android:name=".login.LoginActivity" android:theme="@style/theme_fullScreen"/>


  • 第二种方法
        <?xml version="1.0" encoding="utf-8"?>         <manifest xmlns:android="http://schemas.android.com/apk/res/android"            package="com.andyidea"            android:versionCode="1"            android:versionName="1.0">             <uses-sdk android:minSdkVersion="8" />             <application android:icon="@drawable/icon" android:label="@string/app_name">                 <activity                     android:name=".login.LoginActivity"                    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>         </manifest>

activity 的注册文件中设置整 android:theme="@android :style/Theme.NoTitleBar.Fullscreen" 属性


  • 第三种:这种在一般的应用中不常用,就是在res/values目录下面新建一个style.xml的文件例如:
<?xml version="1.0" encoding="UTF-8" ?> <resources>     <style name="theme_notitle">         <item name="android:windowNoTitle">true</item>     </style> </resources>

这样,我们就自定义了一个style,就相当于一个主题样式,然后在AndroidManifest.xml文件中在application 标签中引用这个样式也可以达到去掉标题栏的效果:

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

0 0