一、标题栏的隐藏
方法1、
在Activity的oncreate方法中添加requestWindow()方法,需要注意的是它必须放在setsetContentView()方法之前,否则会报错。 public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
……}
方法2、
在配置文件Xml中设置Acitivity的theme属性
<activity
android:theme="@android:style/Theme.NoTitleBar"
android:name=".Test" >
……
</activity>
二、状态栏的隐藏
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
……}
在Activity的oncreate方法中添加requestWindow()方法,在setsetContentView()方法之前之后都可以。
三、全屏的实现
方法1、
在Activity的oncreate方法中设置
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
……}
方法2、
在配置文件Xml中设置Acitivity的theme属性
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:name=".Test" >
……
</activity>
注意:
以上三点只针对某一个Acitivity窗口进行设置,若想针对应用程序所有的Activity,那么直接在配置文件里进行设置,如
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
那么所有Activity都会隐藏标题栏和状态栏,全屏显示。
四、权限问题
在android里,若实现某个功能需要调用系统硬件来实现,第一要想到是否需要获取使用权限。
常用的权限如下:
一旦涉及到网络记得加权限:
<uses-permission android:name="android.permission.INTERNET" />
一旦涉及到文件读写记得加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
五、锁屏问题
在Activity的oncreate方法中设置
/** Clock the screen ,don't let it enter screen protection status */
KeyguardManager mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock("");
mKeyguardLock.disableKeyguard();
因为用到了系统东西,所以需要加权限:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
六、横竖屏自动切换问题
在配置文件里面进行如下设置就oK了(当然在代码里面也可实现,不过复杂些)。
<activity
android:label="@string/app_name"
android:name=".Test"
android:screenOrientation="sensor"
android:configChanges="orientation" >
注意:
screenOrientation属性设置表示此Acitivity开启横竖屏监听传感器。
configChanges属性特别重要,加上这句话,横竖拼切换时不会重新执行此ACtivity的Oncreate方法,而是调用Acitivity自带的onConfigurationChanged(Configuration newConfig)方法.这是横竖屏实现的关键所在,因为一般情况下我们只希望界面切换下,而不需要重新加载Acitivity。
当然这可能也需要加权限:
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />