本文实例讲述了Android改变手机屏幕朝向的方法。分享给大家供大家参考。具体如下:

模拟当点击按钮时,使手机朝向发生改变。

main.xml布局文件:

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="点击更改屏幕朝向" />

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:cursorVisible="false"

android:hint="显示当前屏幕朝向" />

清单文件:

package="com.ljq.activity"

android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name"

android:screenOrientation="portrait"

android:configChanges="orientation">

OrientationActivity类:

package com.ljq.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.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class OrientationActivity extends Activity {

private EditText editText=null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

editText=(EditText)findViewById(R.id.editText);

Button btn=(Button)findViewById(R.id.btn);

btn.setOnClickListener(new View.OnClickListener(){

public void onClick(View v) {

//判断是否可以获得requestedOrientation属性

if(OrientationActivity.this.getRequestedOrientation()==-1){

Toast.makeText(OrientationActivity.this, "系统的朝向无法获取", Toast.LENGTH_LONG).show();

}else{

//手机屏幕的朝向有7个可选值,分别如下

//SCREEN_ORIENTATION_BEHIND: 继承Activity堆栈中当前Activity下面的那个Activity的方向

//SCREEN_ORIENTATION_LANDSCAPE: 横屏(风景照) ,显示时宽度大于高度

//SCREEN_ORIENTATION_PORTRAIT: 竖屏 (肖像照) , 显示时高度大于宽度

//SCREEN_ORIENTATION_NOSENSOR: 忽略物理感应器——即显示方向与物理感应器无关,

//不管用户如何旋转设备显示方向都不会随着改变("unspecified"设置除外)

//SCREEN_ORIENTATION_SENSOR: 由物理感应器决定显示方向,它取决于用户如何持有设备,

//当设备被旋转时方向会随之变化——在横屏与竖屏之间

//SCREEN_ORIENTATION_UNSPECIFIED: 未指定,此为默认值,由Android系统自己选择适当的方向,

//选择策略视具体设备的配置情况而定,因此不同的设备会有不同的方向选择

//SCREEN_ORIENTATION_USER: 用户当前的首选方向

if(OrientationActivity.this.getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){

OrientationActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}else if(OrientationActivity.this.getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){

OrientationActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

}

}

});

}

/**

* 配置信息发生改变时触发

*/

@Override

public void onConfigurationChanged(Configuration newConfig) {

Toast.makeText(this, "系统的屏幕方向发生改变", Toast.LENGTH_LONG).show();

int o=getRequestedOrientation();//获取手机的朝向

switch (o) {

case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:

editText.setText("当前屏幕朝向为: 横屏");

break;

case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:

editText.setText("当前屏幕朝向为: 竖屏");

break;

}

//不能省略,否则会报android.app.SuperNotCalledException: Activity OrientationActivity did not

//call through to super.onConfigurationChanged()异常

super.onConfigurationChanged(newConfig);

}

}

运行结果:

希望本文所述对大家的Android程序设计有所帮助。

android+改变屏幕方向,Android改变手机屏幕朝向的方法相关推荐

  1. android屏幕坏了,手机屏幕坏了怎么办 手机屏幕坏了怎么换

    手机屏幕坏了怎么办 手机屏幕坏了怎么换 来源:www.18183.com作者:皮卡时间:2015-10-22 手机摔坏了,或者触摸部分不正常,比如手机后台关闭不了,红色部分按不了,拨号也不正常. 手机 ...

  2. python获取安卓手机的屏幕_Python/Kivy用手机屏幕方向改变屏幕(android)

    我还没有找到一种方法来识别android设备的方向.但是,下面的程序通过比较窗口的高度和宽度来更改其内容.程序的标签是动态变化的,因此当宽度较大(横向模式)时,其标签具有不同的文本,而当高度较大时(纵 ...

  3. android广播内容显示在屏幕上,如何将手机屏幕投影到计算机显示器上?

    该屏幕广播应用程序摆脱了电缆的束缚,可以将手机的内容投影到电视中的空白空间,以便您可以在电视侧更好地欣赏自己喜欢的视频和图片. 一方面,它用于工作,另一方面,用于家庭生活和娱乐. 实际上,有时无法很好 ...

  4. android自适应屏幕方向,Android 屏幕自适应方向尺寸与分辨率-Fun言

    摘要:  Android 屏幕自适应方向尺寸与分辨率,android 自适应分辨率,android 屏幕自适应,android 图片自适应,android 横屏布局,包括屏幕界面布局.多分辨率支持.获 ...

  5. Android基础教程(四)之-----取得手机屏幕大小DisplayMetrics的应用

    2009-11-08 20:15:25 标签:Android 屏幕 手机 基础 教程 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http: ...

  6. 通过XML设置屏幕方向(android:screenOrientation)详解

    注意:android只支持270度旋转 <activity android:name=".MyActivity"android:label="@string/app ...

  7. android 屏幕没反应了,手机屏幕失灵了怎么办?安卓手机屏幕失灵解决方法

    手机屏幕失灵了怎么办呢?手机屏幕失灵的情况,相信有些朋友会遇到,那么要怎么解决呢?下文小编就为大家带来手机屏幕失灵的解决方法,有需要的朋友可以来下文了解下哦~ 手机屏幕失灵解决方法: 方法一: 1.关 ...

  8. android屏幕锁界面,安卓手机屏幕锁设置方法(九个点图案)

    这里以三星S5368手机屏幕锁为例 随着三星S5368手机系统功能愈来愈完善,性能愈来愈强劲,越来越多的三星S5368用户们都喜欢把一些重要的信息甚至隐私放在三星S5368手机里面,但是这就有可能会让 ...

  9. 手机屏幕常见故障_手机屏幕失灵怎么回事 手机屏幕失灵解决办法

    如今我们基本上都使用触屏手机了,市面上也很少有按键手机卖了.不得不说,触屏手机真的是极大的方便了我们使用手机的效率,大屏幕也使得我们在使用手机的时候更加的享受.触屏手机虽然有着许多的优点,但也有自己一 ...

最新文章

  1. Ubuntu 16.04 安装arm-linux-gcc交叉编译
  2. javascript中创建对象的几种方式
  3. synchronized 关键字原理
  4. SAP CRM呼叫中心end按钮的实现逻辑
  5. 【Linux小技巧】开启关闭蜂鸣声
  6. 扫地机器人返充原理_扫地机器人全解析
  7. 如何形容自己的计算机水平,信息在计算机中的表示
  8. 命名空间函数用法及例子
  9. SQL Server:简繁转换
  10. mysql怎样循环执行存储_mysql 循环存储过程
  11. 清空所有textbox
  12. c语言鼠标游戏,c语言写的鼠标操作的五子棋游戏,欢迎观赏!
  13. 捕捉动物游戏java代码_Java Swing打猎射击游戏源码
  14. 初窥JQuery(二)-事件机制(1)
  15. JSON.stringify 语法讲解
  16. android左抽屉点击事件,Android导航抽屉单击事件问题
  17. Linux安装Siege
  18. 有没有被坦克大战支配过?
  19. html打印图片不显示不全,Word里图片显示全打印不全是怎么回事
  20. 电子商务网站一般架构有哪些

热门文章

  1. linux nginx在哪个目录下,Linux下查看Nginx安装目录、版本号信息?
  2. 怎么修改mysql的加密方式_Mysql修改加密方式
  3. 【学习强化学习】十三、模仿学习介绍
  4. 戴尔Precision 7560移动工作站评测
  5. 用Verilog实现60秒倒计时时钟
  6. C# 海康威视网络半球摄像头回调YV12取画面
  7. java redis缓存清除_JAVA中redis增删查以及清理缓存
  8. Linux创建新用户并设置SSH证书登录
  9. 如何增加文档的易读性
  10. SQL ZOO 练习 —— The JOIN operation