android常用代码小结

一、标题栏的隐藏

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值