问题标签 [android-orientation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
31 回答
651888 浏览

android - 如何在 Android 中禁用横向模式?

如何为我的 Android 应用程序中的某些视图禁用横向模式?

0 投票
6 回答
59967 浏览

android - Android - 在横向和纵向模式之间切换使 Intent 失去价值

我正在使用 Intents 在我的 Android 应用程序中的活动之间切换。我将数据放入 Intent 以供下一个活动使用。当我在横向和纵向模式之间切换手机时,从意图传递的值丢失并且我得到 NullPointerException。

有人可以告诉我可能出了什么问题。

有很多代码可以完全发布。但是如果有人需要查看代码的特定部分,我可以在这里发布。

编辑
我解决了未保存状态的问题。但我面临的另一个问题是屏幕上的按钮在方向改变后都不起作用。按下按钮时,我在 LogCat 中收到此警告

请帮忙。

0 投票
13 回答
252029 浏览

android - 如何在 Android 上禁用方向更改?

我有一个我只想在纵向模式下使用的应用程序,所以我在清单 XML 中定义了 android:screenOrientation="portrait"。这适用于HTC Magic手机(也可以防止其他手机上的方向更改)。

但是当我打开硬件QWERTY 键盘(不是虚拟键盘)时,我遇到了HTC G1手机的问题。我的活动保持纵向模式,但它似乎重新启动并失去了所有状态。HTC Hero版本不会发生这种情况。

我的应用程序很大,所以我不希望它在打开键盘时重新启动并丢失所有状态。我怎样才能防止这种情况?

0 投票
1 回答
820 浏览

android - 发音器/通知栏与自定义视图冲突?

在某些时候,我的 Android 应用程序必须切换到没有发音器栏的横向模式才能显示占据整个显示高度和宽度的屏幕。我通过调用来做到这一点

并通过在传入“”setFlags的 Window 对象上调用“ WindowManager.LayoutParams.FLAG_FULLSCREEN

当我返回纵向模式并使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)

并设置标志“ WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN”和“ WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR”。

我的布局对象的原点 (0,0)现在位于发音器下方。因此,我的应用程序视图的前 15 个左右像素都被enunciator/cell signal/battery bar覆盖了。

有没有其他人看到这个问题?
是否有一个我缺少的标志可以在不将我的应用程序推到顶部栏中的情况下恢复纵向/非全屏?

0 投票
16 回答
316801 浏览

android - 强制 Android 活动始终使用横向模式

我在HTC G1上使用 Android VNC查看器。但是由于某种原因,尽管我的 G1 处于纵向模式,但该应用程序始终处于横向模式。由于 Android VNC 查看器是开源的,我想知道如何将活动硬编码为“风景”。我想改变它以尊重手机方向。

0 投票
3 回答
4280 浏览

android - Android VideoView 方向更改

VideoView在我的 Android 应用上播放视频。当我在纵向上尝试时,视频会填满屏幕。但是当我将方向更改为横向时,视频只占用了一半的屏幕空间。我使用FILL_PARENT,FILL_PARENT作为布局参数。

有没有办法让视频在两个方向都充满屏幕?

0 投票
3 回答
25153 浏览

android - Android 方向更改调用 onCreate

我制作了一个搜索屏幕,其中有一个用于关键字、过滤器和一个搜索按钮的选项卡,以及三个用于不同类型结果的可选选项卡(每个选项卡都包含一个ListView和一个ArrayAdapter)。Parcelable[]启动活动时,如果已经执行了搜索,开发人员可以选择将结果作为额外的传递。在该onCreate()方法中,我正在为Parcelable[]传递的三个选项卡中的每一个创建。

当我从过滤选项卡上的按钮调用搜索时,我会清除选项卡并使用新结果重新创建它们,效果很好。问题在于,当您旋转设备时,Android 的自动方向切换支持似乎会重新创建整个活动,调用onCreate(). 这意味着我的搜索结果Parcelable[]在启动活动时被重置为传递。

到目前为止,我唯一的解决方案是调用finish()thenstartActivity()以使用新结果重新启动活动。我确信一定有一个更简单的解决方案,而且我做了一些非常愚蠢的事情。

有一个更好的方法吗?

0 投票
0 回答
1273 浏览

android - Android TimePicker 看起来被裁剪了

TimePicker我在里面创建了一个对话框。这在纵向模式下效果很好,但是,一旦更改为横向模式TimePicker减号按钮看起来会被裁剪

我的显示对话框的代码:

任何人都知道为什么会这样?是否可以自定义对话框的大小(使其更大)?任何其他解决方案将不胜感激。


JJD编辑:

由于我在 ScrollView 中有一个类似的组合日期和时间选择器布局的案例,我想在此处添加屏幕截图。@lwijono 如果它们没有显示您最初描述的内容,请随时删除它们。或发表评论,我会这样做。

肖像模式下的选择器

横向模式下的选择器

0 投票
17 回答
84504 浏览

android - Android:暂时禁用活动中的方向更改

我的主要活动有一些代码可以进行一些不应中断的数据库更改。我正在另一个线程中做繁重的工作,并使用我设置为不可取消的进度对话框。但是,我注意到,如果我旋转手机,它会重新启动对正在运行的进程非常不利的活动,并且我会得到强制关闭。

我想要做的是以编程方式禁用屏幕方向更改,直到我的过程完成,此时启用方向更改。

0 投票
8 回答
66610 浏览

android - 后台任务、进度对话框、方向更改 - 是否有任何 100% 可行的解决方案?

我在后台线程(我使用AsyncTask)中从互联网下载了一些数据,并在下载时显示进度对话框。方向改变,Activity 重新启动,然后我的 AsyncTask 完成 - 我想关闭进程对话框并开始一个新的 Activity。但是调用dismissDialog有时会抛出异常(可能是因为Activity被销毁了,新的Activity还没有启动)。

处理此类问题的最佳方法是什么(从后台线程更新 UI,即使用户改变方向也可以工作)?谷歌的人是否提供了一些“官方解决方案”?