当前位置:编程学习 > XML/UML >>

在Activity和XML中设置屏幕的横竖屏幕

功能概述:

Android中设置横屏和竖屏的方法

 


XML Layout清单:


[html]
activity 
           android:name="com.example.touchandscreen.MainActivity" 
           android:label="@string/app_name"  
           android:screenOrientation="landscape" 
           android:configChanges="keyboardHidden|orientation" 
           > 
           <!--  
            android:screenOrientation="landscape" 
            android:configChanges="keyboardHidden|orientation" 
            这两句为设置横屏和竖屏,在屏幕切换的时候默认为重新走OnCreate方法 
                                          当设置了configChange之后就不会再重新走onCreate方法 
            --> 
           <intent-filter> 
               <action android:name="android.intent.action.MAIN" /> 
 
               <category android:name="android.intent.category.LAUNCHER" /> 
           </intent-filter> 
       </activity> 

 <activity
            android:name="com.example.touchandscreen.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="landscape"
            android:configChanges="keyboardHidden|orientation"
            >
            <!--
             android:screenOrientation="landscape"
             android:configChanges="keyboardHidden|orientation"
             这两句为设置横屏和竖屏,在屏幕切换的时候默认为重新走OnCreate方法
                                           当设置了configChange之后就不会再重新走onCreate方法
             -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

 

补充说明:


1、 landscape 是横向,portrait 是纵向  通过android:screenOrientation属性设置

2、 android:configChanges="keyboardHidden|orientation"

这两句为设置横屏和竖屏,在屏幕切换的时候默认为重新走OnCreate方法,当设置了configChange之后就不会再重新走onCreate方法,也不会重新初始化

 


Activity中的实现方式:


[java]
@Override 
    public void onConfigurationChanged(Configuration newConfig) { 
        super.onConfigurationChanged(newConfig); 
        try { 
            if(this.getResources().getConfiguration().orientation == newConfig.ORIENTATION_LANDSCAPE){ 
                Log.v("orientation", "ORIENTATION_LANDSCAPE"); 
            } 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 
     

@Override
 public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  try {
   if(this.getResources().getConfiguration().orientation == newConfig.ORIENTATION_LANDSCAPE){
    Log.v("orientation", "ORIENTATION_LANDSCAPE");
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 

 

补充:Web开发 , 其他 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,