android常用代码小结

来源:互联网 发布:淘宝erp 编辑:程序博客网 时间:2024/05/16 06:28

一、标题栏的隐藏

方法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" />

原创粉丝点击