问题标签 [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.
android - 带有 ProgressDialog 的 AsyncTask 与方向更改
经过几天绝望的日子,我终于创建了几乎可以工作的例子。
目标:在 onCreate 中,我想在 AsyncTask 中下载和解析 XML 文件,显示进度对话框,更新 UI 并关闭对话框。
问题:当方向改变 Activity 重新启动并且 AsyncTask 失去对它的引用。有很多关于它的问题和博客。但我不知道为什么这个特定的解决方案不起作用。或者在这种情况下android如何处理对话框。
状态:当我启动应用程序时,一切正常。我可以旋转设备,我可以通过菜单再次手动启动任务。但是在任务完成后,我再次更改方向弹出对话框(如预期的那样),没有其他任何事情发生。没有进度变化,没有对话框关闭。AsyncTask 正常完成。
编码:
android - 为什么 onLayout 和 onSizeChanged 在方向更改时会被调用两次?
我注意到在处理来自 Activity 的配置更改时,从横向->纵向或纵向->横向更改方向后,onLayout 和 onSizeChanged 会立即连续调用两次。此外,第一个 onLayout/onSizeChanged 包含旧尺寸(旋转之前),而第二个 onLayout/onSizeChanged 包含新(正确)尺寸。
有谁知道为什么,和/或如何解决这个问题?似乎屏幕尺寸的变化可能在配置更改后的一段时间内发生 - 即,在onConfigurationChanged
调用配置更改后尺寸不正确?
这是下面代码的调试输出,显示了从纵向旋转到横向后的 onLayout/onSizeChanged 调用(注意设备为 540x960,因此横向宽度应为 960,而纵向宽度为 540):
另请注意,第一个 onSizeChanged oldwidth 和 oldheight 为 0,表明我们刚刚添加到视图层次结构中 - 但横向尺寸错误!
这是说明这种行为的代码:
我的活动.java
MyHorizontalScrollView.java
AndroidManifest.xml
android - 有没有办法测试android服务的方向变化?
setRequestedOrientation 仅适用于活动,IWindowManager 很久以前就被弃用了。谷歌这次并没有太大帮助。
有什么建议吗?
android - 调整布局以改变方向?
普通的:
景观:
查看 ListView 在横向模式下如何与屏幕上的其他内容重叠?我怎样才能防止这种情况发生?
XML:
android - 在运行时改变方向
我是 android 新手,我的问题是,是否可以通过编程方式更改方向?如果是,我们该怎么做?
android - 方向更改错误时更改布局
我试图让我的应用程序在方向改变时改变布局。这是我的代码:
在线上
我收到此错误:
“这一行的多个标记:
- 语法错误,插入“}”完成MethodBody
- 覆盖 android.app.Activity.onCreate"
另外,有没有办法改变它,所以它不必重新启动方向改变的活动?我有它,所以 Facebook 在应用程序开始时检查用户的登录详细信息,并且每次方向更改时都必须重新检查它。
编辑:
所以代码现在应该是这样的?
或者我是否删除 setContentBasedOnLayout 部分并将其替换为 onConfigurationChanged 代码?
android - Android视图和自定义方向更改,最好的处理方法是什么?
我有一个有多个视图的 android 应用程序。我通过声明android:configChanges="keyboardHidden|orientation|screenSize"
我的活动禁用了自动方向切换。
Q1) 我应该如何重新激活视图onConfigurationChanged()
?看来我需要使用setContentView
方法重置内容视图。是否有另一种方式来表示视图,现在您应该为布局的横向/纵向版本充气?我的一些视图包含states/modeless
可能随时出现的相当复杂的对话框等,因此删除视图对象并重新实例化它听起来并不正确。
onConfigurationChanged()
Q2)了解我们现在应该实际激活哪个视图的最佳方法是什么,即在启动方向改变时关注的是什么?我不愿意依赖,getCurrentFocus()
因为它有时可能为空。
android - 在相机中强制人像模式
我正在使用意图调用相机并单击图片。目前我在模拟器上,想强制相机以纵向模式单击图片(需要捕获应用程序工作的视频,所以方向变化看起来很糟糕)但相机屏幕显示为横向以及我调用的所有进一步活动onActivityResult().
单击图片后,Activity 布局以横向模式出现,如下所示:
而我之前的所有活动都以纵向正确显示。我尝试添加
到上面显示的活动,但无济于事。尽管当我回家并恢复时,它以纵向正确显示。
那么如何强制人像模式呢?
android - Android - 垂直方向有效,水平方向空白
我正在实现一个在垂直方向上按预期工作的 ViewPagerIndicator。当我在水平方向进行测试时,通过在运行时切换(物理转动手机)或当应用程序以水平模式启动时(在应用程序启动之前手机是水平的),我会在 ViewPagerIndicator 应该是的空白处得到一个空白区域。我有一个 layout/main.xml 和 layout-land/main.xml ,其中有几个按预期显示的按钮(在垂直模式下垂直堆叠,在水平模式下作为网格)。当我按下“编辑”按钮时,我启动了编辑活动:
编辑.xml:
关于为什么 ViewPagerIndicator 不会以水平模式显示的任何想法?是否需要更多信息?
android - Android - 有效存储/更新列表内容和处理roation
我正在开发一个应用程序,它使用来自互联网的数据填充列表片段。列表的内容通常会根据用户当前正在查看的选项卡而变化,并且当用户到达末尾(分页)时,额外的项目会附加到列表中。
目前,listfragment 基于 arrayadapter。当用户更改选项卡并添加新项目时,适配器的内容将被清除。当用户到达列表末尾时,更多交易将添加到当前适配器。
当前的实现存在多个问题。
1.偶尔用户重启后,应用程序数据从网上下载成功,但列表为空。这往往发生在您启动应用程序然后使用许多其他应用程序之后,然后再返回此应用程序。使应用程序恢复工作状态的唯一方法是强制关闭应用程序。
2.默认情况下,当屏幕旋转时,Android 会使用 oncreate 再次创建视图,它会再次从 Internet 下载数据。目前为了克服这个问题,我自己处理旋转更改(使用 onConfigurationChanged() ),我知道这不是首选方式。
那么我应该如何最好地存储支持arrayadapter的arraylist,记住我需要经常更新它。我还需要在旋转更改期间存储 arraylist 的内容。
请让我知道是否有任何当前代码会有所帮助。