`
iaiai
  • 浏览: 2198005 次
  • 性别: 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
分享到:
评论

相关推荐

    uniapp中设置横屏竖屏

    本文将详细介绍如何在uni-app中实现横屏竖屏的设置与切换。 一、uni-app的屏幕方向基础概念 1. 屏幕方向:手机或平板设备的屏幕可以处于竖屏(Portrait)或横屏(Landscape)状态。通常,竖屏是手机默认的显示方式...

    Android zxing3.2完美横屏改竖屏

    5. **处理权限和相机设置**:确保在竖屏模式下,应用程序仍能正确请求和使用相机权限。同时,检查并调整相机参数,以确保在竖屏模式下的扫描性能。 6. **测试与优化**:完成上述更改后,进行充分的测试,确保在竖屏...

    Android studio通过切换不同layout实现横竖屏适配

    1. 创建横屏布局:默认情况下,Android Studio创建的布局是针对竖屏的。要创建横屏布局,可以在res/layout目录下右键选择"New &gt; Layout resource file"。在弹出的对话框中,填写文件名,例如`activity_main_land.xml...

    Android禁止横屏竖屏切换的有效方法

    在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了。  在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入...

    android 手机强制横竖屏

    在Android操作系统中,开发者可以为应用设置特定的屏幕方向,让用户在特定场景下强制使用横屏或竖屏模式。这通常涉及到Android系统提供的布局管理、传感器管理和Activity配置更改等相关知识。下面将详细介绍如何实现...

    android竖屏切换横屏

    针对"android竖屏切换横屏"这一主题,我们主要探讨如何在基于MediaTek (MTK) 平台的手机上实现屏幕方向的切换,将默认的竖屏显示转变为横屏模式。 首先,Android系统提供了两种主要的屏幕方向:Portrait(竖屏)和...

    Android 简单例子:横屏 竖屏切换.rar

    本实例主要探讨如何在Android应用中实现在横屏和竖屏之间的自由切换,以及如何检测屏幕方向的变化。 首先,Android系统提供了两种基本的屏幕方向:横屏(Landscape)和竖屏(Portrait)。默认情况下,Android应用会...

    android4.4 kk 电量图标横屏和竖屏

    在Android 4.4(KitKat,简称KK)版本中,系统为用户提供了一种优化的体验,包括针对不同屏幕方向(横屏和竖屏)的定制电池图标。这个问题涉及到Android的UI设计、资源管理和屏幕适配。 首先,我们来看"android4.4 ...

    Android自适应屏幕大小和layout布局(横屏竖屏)

    - 例如,在`AndroidManifest.xml`文件中为某个Activity添加`android:screenOrientation="portrait"`表示竖屏模式,`android:screenOrientation="landscape"`表示横屏模式。 示例代码如下: ```xml android:name...

    android二维码扫描竖屏,横屏(竖屏简化代码,横屏google源码)

    本篇将详细解析标题和描述中提到的"android二维码扫描竖屏,横屏"的相关知识点,包括竖屏简化版和横屏Google源码的应用。 1. **二维码扫描原理** 二维码扫描主要依赖于二维码解码库,例如ZXing(Zebra Crossing)库...

    android二维码横屏竖屏

    总的来说,实现Android二维码横屏竖屏的支持,需要考虑界面布局、屏幕方向监听、相机预览的适配以及交互设计等多个方面。通过合理的资源管理和代码编写,我们可以为用户提供一个无论在横屏还是竖屏下都能顺畅使用的...

    ZXing Android二维码/条码扫描,2020Android Studio版本,横竖屏都支持

    ZXing(Zebra Crossing)是Google开发的一个开源...通过合理地集成和配置,开发者可以快速地在自己的应用中加入这一实用功能,而横竖屏的支持则让用户体验更加友好。结合ZXingDemo,学习和实践会变得更加直观和高效。

    Android编程判断横屏、竖屏及设置横竖屏的方法

    Android编程判断横屏、竖屏及设置横竖屏的方法 在Android编程中,判断横屏、竖屏及设置横竖屏是非常重要的,特别是在开发移动应用程序时,需要根据不同的屏幕方向来调整界面布局和显示内容。下面将详细介绍Android...

    android横竖屏

    本篇将深入探讨“Android横竖屏”相关的知识点,以及如何处理屏幕旋转带来的影响。 一、Android屏幕方向 1. 屏幕方向检测:Android系统提供了`Display`类来获取设备的显示信息,包括当前的屏幕方向。可以通过`...

    四步将ZXing横屏改竖屏方法.pdf

    如果当前是竖屏,则尝试先设置为竖屏,再设置为横屏,这样可以强制触发ZXing内部的屏幕方向监听机制: ```java if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { ...

    Fragment实现横竖屏布局

    用Fragment实现的横竖屏不一样的布局,详情Android 一个例子来解读Fragment实现横竖屏不同的布局http://blog.csdn.net/xiaanming/article/details/9254749

    让AndroidX86竖屏显示

    通过上述步骤,我们成功地将AndroidX86从默认的横屏显示模式改为竖屏显示模式。这一改变对于开发者来说尤为有用,因为它可以帮助他们在进行应用程序测试和调试时获得更佳的视觉体验。此外,对于那些想要在电脑上使用...

    Android Zxing 扫描条码实现竖屏模式

    通常,Android设备的默认相机预览模式是横屏,但我们的需求是竖屏模式。因此,我们需要在`CameraManager`中调整相机的参数,确保预览画面适应竖屏显示。 `CameraManager.java`中的关键部分在于设置相机的参数。这...

    android安卓app处理屏幕旋转事件,竖屏变横屏,横屏变竖屏.zip

    android安卓app处理屏幕旋转事件,竖屏变横屏,横屏变竖屏

Global site tag (gtag.js) - Google Analytics