`
iaiai
  • 浏览: 2145470 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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>

*设置手机的朝向,不然无法获取手机的朝向,必须设置这个参数: android:configChanges="orientation"

IaiaiActivity.java类:
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 {

	@Override
	protected 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() {
			@Override
			public 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
	 */
	@Override
	public void onConfigurationChanged(Configuration newConfig) {
		switch (newConfig.orientation) {
		case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:
			Log.i("***************", "当前屏幕朝向为: 竖屏");
			break;
		}
		super.onConfigurationChanged(newConfig);
	}
}


运行结果:

  • 大小: 18.1 KB
  • 大小: 28.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics