Android 方向变化

2024-01-12

我有一个简单的Activity called SingleTouchTest理解屏幕触摸。奇怪的是SingleTouchTest从我所处的任何方向开始,但旋转设备不会导致屏幕旋转。

我的测试设备是运行 Android 4.0.3 的 Acer A100。

主要的Activity包含一个ListView导航到我的测试Activityes,包括SingleTouchTest。我可以跑SingleTouchTest(完整代码如下)除了旋转之外没有问题。在AndroidManifest.xml(下面的完整代码)我已经尝试了每种组合

android:configChanges="keyboard|keyboardHidden|orientation" android:screenOrientation="unspecified"

并且它不会自动旋转。我什至删除了onConfigurationChanged()方法来自SingleTouchTest但什么也没发生。

完整代码AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest 
    package="com.Bespoke.AndroidBasics"
    android:versionCode="1"
    android:versionName="1.0"
    android:installLocation="preferExternal" xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="Android Basics">
        <activity
            android:name=".AndroidBasicsStarter"
            android:label="Android Basics"
            android:screenOrientation="unspecified">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".LifeCycleTest"
            android:label="Life Cycle Test"
            android:configChanges="keyboard|keyboardHidden|orientation" android:screenOrientation="unspecified"/>
        <activity
            android:name=".SingleTouchTest"
            android:label="Single Touch Test"
            android:configChanges="keyboard|keyboardHidden|orientation" android:screenOrientation="unspecified"/>
        <activity
            android:name=".MultiTouchTest"
            android:label="Single Touch Test"
            android:configChanges="keyboard|keyboardHidden|orientation" android:screenOrientation="unspecified"/>
        <activity
            android:name=".KeyTest"
            android:label="Key Test" android:screenOrientation="unspecified"/>
    </application>

</manifest>

完整代码SingleTouchTest:

package com.Bespoke.AndroidBasics;

import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.TextView;

public class SingleTouchTest extends Activity
                             implements OnTouchListener {

    StringBuilder builder = new StringBuilder();
    TextView textView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        textView = new TextView(this);
        textView.setText("Touch and drag (one finger only!)");
        textView.setOnTouchListener(this);
        this.setContentView(textView);
    }

    public boolean onTouch(View v, MotionEvent event) {
        builder.setLength(0);  // clear the builder
        switch(event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            builder.append("down, ");
            break;
        case MotionEvent.ACTION_MOVE:
            builder.append("move, ");
            break;
        case MotionEvent.ACTION_CANCEL:
            builder.append("cancel, ");
            break;
        case MotionEvent.ACTION_UP:
            builder.append("up, ");
            break;
        }
        builder.append(event.getX());
        builder.append(", ");
        builder.append(event.getY());
        String text = builder.toString();
        Log.d("TouchTest", text);
        textView.setText(text);
        return true;  // Consume the event, if false super.onTouch superceeds us
    }

     @Override
     public void onConfigurationChanged(Configuration  newConfig) {
       super.onConfigurationChanged(newConfig);

     }

}

因为你正在使用

 android:screenOrientation="unspecified"

对于每个活动,它根据谷歌定义为

默认值。系统选择方向。政策它 用途,因此在特定情况下做出的选择可能会有所不同 从设备到设备。

这让我认为设备出于某种原因声明了所需的方向。也许尝试将屏幕方向切换到

android:screenOrientation="fullSensor"

这应该将其从特定设备手中夺走。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 方向变化 的相关文章

随机推荐

  • 使用 python 脚本进行谷歌搜索[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 任何人都可以帮助我如何编写一个Python脚本来搜索谷歌并打印热门结果的链接 试试这个 使用起来非常简
  • 如何将 Material UI 自动完成多项选择限制为一组

    我想将 Material UI 自动完成组件中的多个选择限制为同一组中的选项 请参阅链接沙箱以了解没有实施解决方案的问题设置 https codesandbox io s material demo 7g4ed file demo js h
  • 在哪里可以下载 Java Mission Control(7)(OpenJDK11 或更高版本)? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java Mission Control JMC 宣布从 JDK 11 起从 Oracle 移交给开源
  • 如何在Vue Router中模拟页面加载时的“滚动到锚点”?

    我有一个小型 Vue js SPA 具有以下路由器配置 取自docs https router vuejs org en advanced scroll behavior html export default new VueRouter
  • PG::ForeignKeyViolation:错误:表“xxx”上的更新或删除违反了外键约束

    我有几个表 它们具有与之关联的外键约束 每个表都以分层方式引用另一个表 如下所述 当我试图摧毁一家至少有 1 个项目 至少有 1 个任务 至少有 1 个任务时间的公司时 就像这样 irb main 014 0 gt Company firs
  • Azcopy:是否可以使用新的 SAS 密钥恢复下载

    昨天我开始使用 azcopy 下载更大的数据块 大约 500GB 我让它运行了一整夜 并且 当您进行大量下载 上传时 我的 Windows 桌面认为它有一个重要更新并且需要重新启动 通常情况下 我会在早上恢复下载 但是 现在我收到授权错误
  • 如何计算音频流中每个数据包的 RTP 时间戳

    我阅读了 RTP 规范 但似乎无法理解 RTP 数据包时间戳 我尝试在我的服务器中以不同的方式实现它 但我无法让玩家正确播放它 我在这里的 错误 行为是 我使用 VLC 播放器播放 RTSP url 到我的服务器 我发现玩家的日志说 缓冲太
  • java中捕获javascript返回值

    通过使用 Java Sripting API 我能够在 Java 中执行 JavaScript 但是 有人可以解释一下如何在Java中捕获JS的返回值吗 在下面的示例中 我可以使用调用 script2 inv invokeFunction
  • Rails 5 和 PostgreSQL 'Interval' 数据类型

    Rails 真的不能正确支持 PostgreSQL 的区间数据类型吗 我不得不使用这个堆栈溢出答案 https stackoverflow com questions 20328028 using interval in postgresq
  • 这个 CopyPDBs 函数(来自 clr.dll)在做什么?

    当使用 Process Explorer 在运行 IIS 的生产环境中分析 ASP NET MVC 应用程序时 我注意到有很多对此的调用CopyPDBs函数来自C Windows Microsoft NET Framework64 v4 0
  • 如何对 JavaScript 和 CSS 文件进行 gzip 压缩?

    我有一个问题 我必须 gzip 一个原型库 但我完全不知道如何做到这一点 从哪里开始以及它是如何工作的 我找到了一些教程 但没有帮助 所以我有一个包含 JS 文件的文件夹 压缩 js 1 js 2 js 3 js 我在这个文件中调用这些文件
  • scikit-learn 字典学习中的分段错误(核心转储)

    我写了一个字典学习的代码 它对于 100 个图像工作正常 但如果我使用 200 个图像来学习字典 我会收到 Segment failure 错误 这是我的代码 gt from time import time import matplotl
  • 存储库模式 - 如何正确处理 JOIN 和复杂查询?

    我对存储库模式有疑问 如何在多个存储库之间执行 JOIN 操作 在这个项目中 我们使用了MVC EF DDD 我知道这种问题已经出现过好几次了 我稍后会在本问题中引用这些问题 在通用存储库模型 IRepository 和特定存储库模型之间
  • Python:类型错误:“NoneType”对象不可下标

    Uses python3 import sys def max dot product a b n a a sort reverse True b b sort reverse True res 0 for i in range n res
  • 在 Python 2 中按定义顺序迭代枚举

    我正在使用 python 3 4 和 python 2 7 的反向移植 Enum 功能 gt python version Python 2 7 6 gt pip install enum34 Installs version 1 0 根据
  • Swift:尝试导入 UIKit 时出错

    当我尝试在我的 swift 文件中导入 UIKit 时 我遇到了这个非常奇怪的错误 我的代码很简单 import UIKit class Test NSObject 我在 导入 UIKit 时收到的错误是 未知类型名称 导入 预期的 在顶级
  • 是否可以从 iPhone safari 浏览器获取 UDID?

    我需要从 iPhone safari 浏览器检索 UDID 或任何其他设备唯一 ID 通过 cookie 或请求 响应标头或任何其他方式 如果可以的话可以怎样做 谢谢 Z 您可以使用 mobileconfig 看http whatsmyud
  • WCF 数据服务或 RIA 服务可以用 NHibernate 实现吗?

    从何而来我在网上读到 http wildermuth com 2009 09 29 Choosing a Data Access Layer for Silverlight 3 WCF 数据服务似乎通过服务器上的实体框架绑定到数据访问 有没
  • 从 Android 活动转到主屏幕

    我正在 android 中制作一个应用程序 我想实现一个按钮 以便每当按下它时 我只需返回主屏幕 我知道我们有硬件键和软键 当没有硬件键时 可以实现此功能 但我想为此应用程序添加此功能 有人知道该怎么做吗 谢谢 Try this Inten
  • Android 方向变化

    我有一个简单的Activity called SingleTouchTest理解屏幕触摸 奇怪的是SingleTouchTest从我所处的任何方向开始 但旋转设备不会导致屏幕旋转 我的测试设备是运行 Android 4 0 3 的 Acer