Android 设置横屏/竖屏
模拟当点击按钮时,使手机朝向发生改变。
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.iaiai.activity" android:versionCode="1"android:versionName="1.0"><uses-sdk android:minSdkVersion="8" /><application android:icon="@drawable/icon" android:label="@string/app_name"><activity android:name="IaiaiActivity" android:label="@string/contact_title"android:configChanges="orientation"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name="NextActivity" android:label="@string/contact_title"></activity></application><!-- 改变手机配置权限 --><uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /></manifest>
package com.iaiai.activity;import android.app.Activity;import android.content.pm.ActivityInfo;import android.content.res.Configuration;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class IaiaiActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);onScreenChanged(getResources().getConfiguration().orientation);setContentView(R.layout.main);Button btnfx = (Button) findViewById(R.id.btn_fx);btnfx.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 判断是否可以获得requestedOrientation属性if (getRequestedOrientation() == -1) {Toast.makeText(IaiaiActivity.this, "系统的朝向无法获取",Toast.LENGTH_LONG).show();} else {if (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);} else if (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}}}});}/** * 手机横屏 * * @param direction */public void onScreenChanged(int direction) {switch (direction) {case ActivityInfo.SCREEN_ORIENTATION_USER:Log.i("***************", "当前屏幕朝向为: 横屏");break;}}/** * 手机竖屏 * * @param newConfig */@Overridepublic void onConfigurationChanged(Configuration newConfig) {switch (newConfig.orientation) {case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:Log.i("***************", "当前屏幕朝向为: 竖屏");break;}super.onConfigurationChanged(newConfig);}}