zoukankan      html  css  js  c++  java
  • Android开发之改动屏幕方向

    有的场景下。我们须要把手机屏幕方向改变,以下是我写的一个样例。

    xml页面文件:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

        xmlns:tools="http://schemas.android.com/tools"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:paddingBottom="@dimen/activity_vertical_margin"

        android:paddingLeft="@dimen/activity_horizontal_margin"

        android:paddingRight="@dimen/activity_horizontal_margin"

        android:paddingTop="@dimen/activity_vertical_margin"

        tools:context=".MainActivity" >


        <Button

            android:id="@+id/btn"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentLeft="true"

            android:layout_alignParentTop="true"

            android:text="改动屏幕方向" />


    </RelativeLayout>

    页面java文件:

    package com.example.chcfg;


    import android.os.Bundle;

    import android.app.Activity;

    import android.content.pm.ActivityInfo;

    import android.content.res.Configuration;

    import android.view.View;

    import android.view.View.OnClickListener;

    import android.widget.Button;

    import android.widget.Toast;


    public class MainActivity extends Activity {


    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

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

    btn.setOnClickListener(new OnClickListener() 

    {

    public void onClick(View source) {

    // TODO Auto-generated method stub

    Configuration config = getResources().getConfiguration();

    if(config.orientation == Configuration.ORIENTATION_LANDSCAPE)

    {

    //设置为竖屏

    MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    }

    //假设当前是竖屏

    if(config.orientation == Configuration.ORIENTATION_PORTRAIT)

    {

    MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    }

    }

    });

    }


    @Override

    public void onConfigurationChanged(Configuration newConfig) {

    // TODO Auto-generated method stub

    super.onConfigurationChanged(newConfig);

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

    Toast.makeText(this, "系统屏幕方向发生改变 改动后的方向为:" + screen , Toast.LENGTH_LONG).show();

    }

    }

    MainFest xml文件:

    <?

    xml version="1.0" encoding="utf-8"?>

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

        package="com.example.chcfg"

        android:versionCode="1"

        android:versionName="1.0" >


        <uses-sdk

            android:minSdkVersion="8"

            android:targetSdkVersion="18" />


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

        <application

            android:allowBackup="true"

            android:icon="@drawable/ic_launcher"

            android:label="@string/app_name"

            android:theme="@style/AppTheme" >

            <activity

                android:name="com.example.chcfg.MainActivity"

                android:label="@string/app_name"

                android:configChanges="orientation">

                <intent-filter>

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


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

                </intent-filter>

            </activity>

        </application>


    </manifest>

    个人辛勤劳动成果,如有转载,请注明出处,谢谢。

  • 相关阅读:
    PHP格式化时间戳函数分享
    The Mac App Store isn't working. How to fix?
    sqlite+ef+powertools
    部署node api的二三事
    node 写api几个简单的问题
    基于项目的简单的代码生成器
    h5跳转到app的实现
    几种常用的git命令
    发送post请求几种常见content-type类型
    cors(Cross-origin resource sharing)跨域资源共享
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/9942815.html
Copyright © 2011-2022 走看看