android提供了两种方式来实现无标题栏和全屏效果,即通过xml文件声明的方式或在程序中动态控制的方式。
android设置全屏方法
一、通过程序设置:
代码如下 | 复制代码 |
package com.hhh.changeimage; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public class ChangeImage extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //无title requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams. FLAG_FULLSCREEN); setContentView(R.layout.main); } } |
注:无title和全屏段代码必须在setContentView(R.layout.main) 之前,不然会报错。
二、在配置文件里修改(AndroidManifest.xml)
代码如下 | 复制代码 |
<activity android:name=".ChangeImage" 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> |
下面我们结合上面的实例作一个Android全屏设置及取消全屏设置
•1、//在onCreat方法中setContentView()之前插入
代码如下 | 复制代码 |
•requestWindowFeature(Window.FEATURE_NO_TITLE);//取消标题栏 •getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , • WindowManager.LayoutParams. FLAG_FULLSCREEN);//全屏 |
•注:这种方法在启动activity时会闪现状态栏之后再全屏
•2、在manifest里面配置:<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />只在当前Activity内显示全屏
•<application android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />为整个应用配置全屏显示
•3、/**
• * 全屏切换
• */
代码如下 | 复制代码 |
•public void fullScreenChange() { •SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(this); •boolean fullScreen = mPreferences.getBoolean("fullScreen", false); •WindowManager.LayoutParams attrs = getWindow().getAttributes(); •System.out.println("fullScreen的值:" + fullScreen); •if (fullScreen) { •attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); •getWindow().setAttributes(attrs); •//取消全屏设置 •getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); •mPreferences.edit().putBoolean("fullScreen", false).commit() ; •} else { •attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; •getWindow().setAttributes(attrs); •getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); •mPreferences.edit().putBoolean("fullScreen", true).commit(); •} •} |
时间: 2024-11-02 00:22:32