Android 横竖屏检测

package com.example;

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 ChangeConfiguationActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.configuration_layout);

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

btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

Configuration config = getResources().getConfiguration();

// 如果是横屏则设为竖屏

if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {

ChangeConfiguationActivity.this

.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

} else {

ChangeConfiguationActivity.this

.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

}

});

}

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

String screen = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE ? "横向屏幕"

: "竖向屏幕";

Toast.makeText(ChangeConfiguationActivity.this,

"系统屏幕方向发生了变化:" + screen, Toast.LENGTH_LONG).show();

}

}

AndroidManifest.xml 配置

<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />

android:configChanges="orientation"

<activity

android:name=".XXX"

android:configChanges="orientation"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

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

</intent-filter>

</activity>

时间: 2024-12-27 07:15:15

Android 横竖屏检测的相关文章

Android横竖屏切换处理

Android横竖屏要解决的问题应该就两个: 1.布局问题:2.重新载入问题   一.布局问题: 如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数: "unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向. "landscape":横屏显示(宽比高要长

Android横竖屏切换总结

Android横竖屏切换总结(Android资料) Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数: "unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向. "lan

android 横竖屏先关操作

今天处理了点关于android横竖屏的效果,半天下来觉得这个横竖屏的相关操作还是有很多的,废话结束-------------- 首先看看最常见的横竖屏幕的控制,在清单文件中可以设置Activity是否支持横屏,要以什么样的方式展示(横屏.竖屏),常见的设置方式就是在Activity中加上 android:screenOrientation="XXX" ,这样就能限定该Activity是否的展示方式. <activity android:name=".ui.Details

Android横竖屏总结全

Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数: "unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向. "landscape":横屏显示(宽比高要长) &

更靠谱的横竖屏检测方法

参考链接:http://www.cnblogs.com/zhansingsong/p/5866692.html 前不久,做了一个H5项目,需要在横竖屏变化时,做一些处理.毫无疑问,需要使用orientationchange来监听横竖屏的变化. 方案一: // 监听 orientation changes window.addEventListener("orientationchange", function(event) { // 根据event.orientation|screen

Android横竖屏切换及其对应布局加载问题

第一,横竖屏切换连带横竖屏布局问题: 如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同的布局. 可以通过以下两种方法来切换布局: 1)在res目录下建立layout-land和layout-port目录,相应的layout文件名不变,比如:layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管,横竖屏切换时程序调用Activity的onCreate方法中的setOnContent(xxx),并自动加载相应的布局. 2)假如布

Android横竖屏总结(转)

Android横竖屏总结(转) 横竖屏切换后Activity会重新执行onCreat函数,但是在Android工程的Mainfest.xml中加入android:screenOrientation="user" android:configChanges="orientation|keyboardHidden"之后,横竖屏切换之后就不会去执行OnCreat函数了,而是会去调用onConfigurationChanged(),这样我们就能控制横竖屏的切换了.或者在re

android横竖屏切换时Activity的生命周期

1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume--> 4.再

android 横竖屏限制如何配置

在开发android的应用中,有时候需要限制横竖屏切换.只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制. ndroid:screenOrientation="landscape"是限制此页面横屏显示, ndroid:screenOrientation="portrait"是限制此页面数竖屏显示. 例如:我现在想让所有的页面不管怎么样都竖屏显示,则我的AndroidManifest.xml应该这样写: