App/Activity/Screen Orientation

测试android屏幕方向的小Demo

1、首先我们在values下面新建文件arrays.xml(用来在下拉列表中显示)

<?xml version="1.0" encoding="utf-8"?>
<resources>
     <!-- Used in app/Screen Orientation -->
    <string-array name="screen_orientations"
        <item>UNSPECIFIED</item>
        <item>LANDSCAPE</item>
        <item>PORTRAIT</item>
        <item>USER</item>
        <item>BEHIND</item>
        <item>SENSOR</item>
        <item>NOSENSOR</item>
        <item>SENSOR_LANDSCAPE</item>
        <item>SENSOR_PORTRAIT</item>
        <item>REVERSE_LANDSCAPE</item>
        <item>REVERSE_PORTRAIT</item>
        <item>FULL_SENSOR</item>
    </string-array>
</resources>

2、我们在代码中定义相对应数组

 final static int mOrientationValues[] = new int[] {
        ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED,
        ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE,
        ActivityInfo.SCREEN_ORIENTATION_PORTRAIT,
        ActivityInfo.SCREEN_ORIENTATION_USER,
        ActivityInfo.SCREEN_ORIENTATION_BEHIND,
        ActivityInfo.SCREEN_ORIENTATION_SENSOR,
        ActivityInfo.SCREEN_ORIENTATION_NOSENSOR,
        ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE,
        ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT,
        ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE,
        ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT,
        ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR,
    };

3、处理用户选择

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app_activity_screen_orientation);

        mOrientation = (Spinner)findViewById(R.id.app_activity_screen_orientation);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.screen_orientations, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mOrientation.setAdapter(adapter);
        mOrientation.setOnItemSelectedListener(
                new OnItemSelectedListener() {
                    public void onItemSelected(
                            AdapterView<?> parent, View view, int position, long id) {
                        setRequestedOrientation(mOrientationValues[position]);
                    }

                    public void onNothingSelected(AdapterView<?> parent) {
                        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
                    }
                });
    }
时间: 2024-10-14 03:41:29

App/Activity/Screen Orientation的相关文章

HTML5: Screen Orientation API

媒体查询允许网站根据智能手机和平板的方向来调整布局.但有时候你希网站锁定到一个特定的方向,横屏或竖屏,此时,原生应用的格式是可以被指定的.APP只在预设格式下显示-独立于实际的设备方向.通过使用HTML5的 Screen Orientation API, 可以在JavaScript定义屏幕方向. 为一个文档定义屏幕方向 通过screen.orientation属性的lock()方法可以调整屏幕方向,其默认值是any,这允许设备根据其物理方向来应用任何方向.值"natural"将在设备的

使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决

在工程ndk22/bin/classes中 运行javah  com.cn.ndk22.Ndk22.Activity ,出现了.h文件 我在bin/classes目录中 ,就是无法访问, : 错误:无法访问android.app.Activity 找不到android.app.Activity 如下图所示 于是我cmd定位到ndk/src,中运行 javah com.heima.ndk.ndkActivity, 成功了就能成功了 ...我也不知道为什么.,如下图 总结:  使用javah生成.h

android.app.Activity 的介绍

发现当前Android的资料不是很多,而且对于Activity的介绍也很少,所以把官方文档的android.app.Activity的介绍翻译了一下,加入了一些自己的理解.各位如果觉得我自己理解的不对,请无视.欢迎邮件讨论. android.app public class android.app.Activity java.lang.Object android.content.Context android.app.ApplicationContext    ViewInflate.Fact

错误提示:&#39;……&#39; is not assignable to Android.app.Activity Manifest XML

1   问题描述:   针对这段代码: <activity android:name=".fragament.fragment_bulter" /> <activity android:name=".fragament.fragment_girl" /> <activity android:name=".fragament.fragment_user" /> <activity android:name=

命令行下使用javah命令生成.h文件,出现“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”的解决方法

在学习NDK中,当我在项目的bin/classes目录下使用javah命令生成头文件时,出现了“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”这个问题,如下 跳转到项目的src目录下使用javah命令,而不是在项目的bin/classes目录下使用javah命令即可! 无法访问android.app.Activity是说明没有引入android.jar包可以看看java -h里面的具体说明.其中有一个-bootclasspath

javah编译class文件找不到android.app.Activity的类文件

在android工程的根目录使用javah生成jni 头文件时候,报找不到android.app.Activity的类文件错误. 无法访问android.app.Activity是说明没有引入android.jar包 这边有两种方式可以解决: 第一种:在src目录执行命令,javah -d ../jni com.example.hellojni.HelloJni 其中-d表示输出目录 第二种:使用 bootclasspath参数,让他指定一个android.jar包 如:javah -class

错误:无法访问android.app.Activity 找不到android.app.Activity的类文件

[问题] 当在Android项目路径下,使用javah指令生成.h文件时,javah -classpath bin/classes -d jni com.example.myhellojni.MainActivity 出现--->错误:无法访问android.app.Activity 找不到android.app.Activity的类文件. 其中 -classpath bin:表示类的路劲 其中 -d jni: 表示生成的头文件存放的目录 其中 com.example.hellojni.Hell

Android Lock Screen Orientation

一些与屏幕有关的基础知识: //这个是手机屏幕的旋转角度 final int rotation = this.getWindowManager().getDefaultDisplay().getOrientation(); rotation值有: Surface.ROTATION_0 Surface.ROTATION_90 Surface.ROTATION_180 Surface.ROTATION_270 //这个是读取当前Activity 的屏幕方向 final int orientation

Error: &quot;Call requires API level 11 (current min is 8): android.app.Activity#onCreateView&quot;

20151106: 通过默认设置创建一个项目,如图: 创建好了之后,打开 MainActivity.java 发现里面有报错,如图: 处理方式1: 将 AndroidManifest.xml 中的 “android:minSdkVersion="8"” 改为 11以上.但是老的手机可能会不支持. 处理方式2: 对比了 以前的老的代码,发现区别,MainActivity 的父类不同: 以前: “public class MainActivity extends Activity” 现在: