- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
为什么屏幕快速旋转 180 度不算作配置更改,因此它不会触发 Activity.onCreate()
!?所以我不能重新调整我的相机 View !如果旋转 90 度,每次都会触发配置更改。我将省略源代码,因为我的 list 没有 configChanges
也没有 orientation
属性。 Activity 也没什么特别的。这似乎是一种预期的行为,但我没有找到任何官方信息。
设备:硬件 Nexus 5X
平台:Android 7.1.1
list :
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="false"
android:xlargeScreens="true" />
<application
android:name="xyz.MyApp"
android:allowBackup="true"
android:backupAgent=".provider.MyBackupAgent"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:restoreAnyVersion="true"
android:theme="@style/AppTheme"
android:uiOptions="splitActionBarWhenNarrow"
tools:replace="android:icon" >
<activity android:name="xyz.MyActivity"
android:label="asdf"
android:theme="@style/Theme" />
样式.xml:
<style name="Theme" parent="Theme.AppCompat.NoActionBar">
<item name="actionBarIconColor">#fff</item>
<item name="actionBarInsetStart">@dimen/keyline_2</item>
</style>
样式-v19.xml:
<style name="Theme" parent="Theme.AppCompat.NoActionBar">
<item name="actionBarIconColor">#fff</item>
<item name="actionBarInsetStart">@dimen/keyline_2</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
最佳答案
您应该在 AndroidManifest.xml
中为您的 Activity 指定 android:screenOrientation="fullSensor"
如所述here默认方向是 sensor
忽略反向纵向方向。 fullSensor
允许所有 4 个方向
更新:上面的回答没有解决问题。核心问题是将方向改变 180 度(即从横向到反向横向)不会触发 Activity 重新创建。这是预期的行为。通常情况下,横向布局与反向横向布局没有区别。如果您想在旋转 180 度后更改某些 View ,可以使用 OrientationEventListener
示例:
final WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
OrientationEventListener orientationEventListener = new OrientationEventListener(this,
SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
if (orientation == ORIENTATION_UNKNOWN) {
return;
}
Display display = mWindowManager.getDefaultDisplay();
int rotation = display.getRotation();
if (rotation != mLastRotation) {
// do something with your views
mLastRotation = rotation;
}
}
};
if (orientationEventListener.canDetectOrientation()) {
orientationEventListener.enable();
}
如果您的 minSdk 是 17+,您还可以使用 DisplayListener#onDisplayChanged回调
关于android - 为什么屏幕旋转 180 度不算作配置更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41898607/
关于 我的数据库中有这个表,其中包含一些用用户 ID 和时间保存的信息。 | CONTENT | USER ID | TIME | | text | 1 | 140508
我正在准备我的一个网站的应用程序版本。 该应用程序需要您登录才能访问您的用户帐户。此登录过程是通过 HTTP 而不是 HTTPS 完成的,但密码是使用 MD5 和我的服务器上的其他一些哈希值存储的。
是否可以从 google+ 获取特定 URL 的公共(public) +1 计数作为 json 或 xml? (类似于 +1 按钮的功能) 最佳答案 不,没有用于为 URL 获取 +1 的 API。目
我想创建一个简短的 HTML 段落,其中包括指向我们域(域 A)的反向链接,并算作一个 do follow 反向链接。我将使用 IFrame 在其他域上显示它,这样当我更新段落时它会在多个域上更新。但
我正在编写一个 Java 程序来计算在《我的歌唱怪物》中将怪物提升到一定级别需要多少食物。当我运行该程序时,它说“无法从 double 转换为 int”。有人可以解释这是为什么吗?这是程序。 int
在我的 Flutter 应用中,如果我有两个嵌套的 StreamBuilder 从同一个文档读取,它会算作从 Firestore 读取两次吗?还是以一种只计为一次读取的方式进行缓存? 这是我正在谈论的
我读到一个变量永远不应该做超过一件事。重载一个变量来做不止一件事是不好的。 因此,我最终编写了如下代码:(使用 customerFound 变量) bool customerFound = false
我有点困惑,对于 Firestore 定价,像下面这样的查询算作一次读取还是 25 次读取? queryRef.limit(25).get().then(()=>{ ... }); 据我了解,在 pr
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
我是一名优秀的程序员,十分优秀!