`
mmdev
  • 浏览: 13245550 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Android 基础教程之---动态更改屏幕方向的简单例子(LANDSCAPE与PORTRAIT)!

阅读更多

大家好,今天要讲的是Android手机如何动态手机屏幕方向的,我们当中有可能手机也会有这种功能,当我们手机方向改变时,屏幕也会跟着改变,在这Android当中是很容易实现的.本节的Demo主要是界面有一个按钮,当点击时,如果屏幕方向是横排(PORTRAIT)刚将屏幕方向更改为竖排(LANDSCAPE),反之依然!我们这里主要是运用了getRequestedOrientation(),和setRequestedorientation()两个方法.但是要利用这两个方法必须先在AndroidManiefst.xml设置一下屏幕方属性,不然程序将不能正常的工作.下面我将分为N个步骤一步一步教你如何实现该Demo.

Step 1:我们建立一个Android工程,命名为ChangeOrientationDemo.

Step 2:设计UI,打开main.xml,将其代码修改如下,我们这里只是增加了一个按钮,其他什么都没有动.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Press me Change Orientation"
/>

</LinearLayout>

Step 3:设计主程序ChangeOrientationDemo.java,修改其代码如下:

package com.android.test;

import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class ChangeOrientationDemo extends Activity {

private Button bt1;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//获取资源
bt1 = (Button)findViewById(R.id.bt1);
//增加按钮事件
bt1.setOnClickListener(new Button.OnClickListener(){

@Override
public void onClick(View v) {
//如果是竖排,则改为横排
if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

//如果是横排,则改为竖排

else if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}

});
}

}

Step 4:在AndroidManifest.xml文件里设置默认方向,不然程序不能正常工作哦.代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.test"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ChangeOrientationDemo"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
<uses-sdk android:minSdkVersion="3" />

</manifest>

Step 5:运行程序,效果如下图:

OK,今天就到这里,谢谢大家!

分享到:
评论

相关推荐

    Android高手进阶教程与Android基础教程

    Android读写XML(上)——package说明.doc Android读写XML(下)——创建XML文档.doc ...Android基础教程之----动态更改屏幕方向的简单例子(LANDSCAPE与PORTRAIT)! .doc Android基础教程之----五大布局对象.doc

    Android 屏幕旋转(改变屏幕方向).rar

    Android 屏幕旋转实例,改变屏幕方向,这个和平时的锁定屏幕方向有关联,其基本的实现思路如下:  public void onConfigurationChanged(Configuration newConfig) {   Toast.makeText(this, "系统的屏幕方向发生...

    强制改变屏幕方向的小工程

    5. **权限检查**:在Android 6.0及以上版本,若需要在运行时更改屏幕方向,可能需要请求`android.permission.WRITE_SETTINGS`权限。 6. **兼容性处理**:不同Android版本对屏幕旋转的支持可能存在差异,因此在编写...

    屏幕方向锁定后自动旋转.zip

    `Display`类则包含了关于屏幕方向的信息,如屏幕的宽度、高度和当前的方向(portrait、landscape、reverse-portrait、reverse-landscape)。 JavaApk源码中可能包含了对`Activity`的重写,特别是`...

    android改变变屏幕方向.docx

    在Android开发中,屏幕方向是一个重要的考虑因素,因为它直接影响到用户体验和应用的视觉效果。本文将深入探讨Android系统中如何管理和控制屏幕方向。 首先,屏幕方向的设置主要针对`Activity`,开发者通常会在`...

    Android代码-zxing-android-embedded

    ZXing Android Embedded Barcode scanning library for ...Scanning can be performed in landscape or portrait mode. Camera is managed in a background thread, for fast startup time. A sample application

    landscape模式-屏幕翻转.zip

    在Android开发中,"Landscape模式-屏幕翻转"是一个常见的功能需求,它涉及到设备的屏幕方向感知和相应的布局适配。在这个主题中,我们将深入探讨屏幕方向的管理、传感器的使用以及如何根据用户设备的重力变化来自动...

    Android高手进阶教程

    - **Ctrl + F11**: 在模拟器中切换屏幕方向(Portrait/Landscape)。 #### 二、SlidingDrawer组件的使用 **SlidingDrawer** 是Android提供的一种滑动式UI组件,主要用于实现侧滑菜单功能。其主要由两部分组成:**...

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

    ### Android自适应屏幕大小与Layout布局详解 #### 一、不同屏幕尺寸的适应性设计 在Android应用开发中,为了确保应用能够在各种不同尺寸的屏幕上正常显示,开发者需要考虑多种屏幕分辨率的情况。例如,常见的屏幕...

    解决Android手机屏幕横竖屏切换

    除了在配置文件中设置屏幕方向外,还可以通过代码动态地控制屏幕方向。例如,在Activity中设置横屏: ```java MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); ``` 或者...

    Android代码-FolioReader-Android

    FolioReader-Android is an ePub reader and parser framework written in Java. Features [x] Custom Fonts [x] Custom Text Size [x] Themes / Day mode / Night mode [x] Text Highlighting [x] List / Edit / ...

    以编程方式更改屏幕方向 更改屏幕方向 修改分辨率

    在编程领域,尤其是在开发桌面应用或者游戏时,有时我们需要根据应用程序的需求动态地调整用户的屏幕方向或分辨率。在C#中,这可以通过Windows API调用来实现。本文将详细讲解如何使用C#来更改屏幕方向和修改分辨率...

    android 手机强制横竖屏

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

    Android屏幕旋转

    Android系统提供两种主要的屏幕方向: portrait(竖屏)和landscape(横屏),并且支持sensorLandscape和sensorPortrait模式,使得屏幕方向随着设备物理方向自动调整。 二、AndroidManifest.xml配置 在...

    Delphi XE5 XE6 屏幕方向锁定

    在移动设备开发领域,屏幕方向锁定是一个常见的需求,特别是在开发针对Android和iOS系统的原生应用程序时。对于Delphi XE5和XE6这两个版本的开发者来说,理解和掌握如何实现屏幕方向锁定至关重要。本文将深入探讨...

    android屏幕的切换

    Android系统支持多种屏幕尺寸和方向,包括横屏(Landscape)和竖屏(Portrait)。本篇文章将深入探讨如何在Android中实现屏幕的切换,以及在横竖屏之间转换时需要注意的关键点。 首先,Android系统会根据设备的物理...

    Android-Android根据OrientationEventListener获取设备的方向

    在Android开发中,有时我们需要获取设备的方向变化,例如在开发地图应用、运动健身应用或游戏时,了解设备的朝向是非常关键的。Android系统提供了一个名为`OrientationEventListener`的类,用于监听设备方向的变化。...

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

    在Android开发中,屏幕方向的切换是常见的需求之一,尤其在设计多布局或者特定场景(如游戏、视频播放)时尤为重要。本实例主要探讨如何在Android应用中实现在横屏和竖屏之间的自由切换,以及如何检测屏幕方向的变化...

    使用CSS3-Media-Query技术适配Android平板屏幕分辨率和屏幕密度.docx

    使用CSS3 Media Query技术适配Android平板屏幕分辨率和屏幕密度 在移动应用开发中,适配各种Android平板设备的分辨率和屏幕密度是一个棘手的问题。使用CSS3 Media Query技术可以轻松解决这个问题。Media Query是一...

    android Activity始终横屏、全屏、屏幕方向改变等屏幕相关.doc

    本篇文章将深入探讨如何控制Android Activity的屏幕方向,实现始终横屏、全屏显示以及如何处理屏幕方向改变时Activity的销毁与重建问题。 1. **屏幕始终横屏或竖屏** 在AndroidManifest.xml中,我们可以为特定的...

Global site tag (gtag.js) - Google Analytics