0

我正在开发一个家庭自动化应用程序,用户可以在其中上传图像(例如平面图),点击房间并执行不同的操作,例如控制照明等。我通过使用用户还使用颜色图创建的第二张图像。我现在已经设置好了,因此图像必须与设备具有相同的分辨率,这样我就不必处理缩放问题。我还禁用了自动旋转,这样他们就不必担心当设备旋转到纵向时横向照片会被刮掉。换句话说,我懒得处理它。这种方法的问题是出现的任何对话框(在横向查看屏幕时)都以纵向模式而不是横向模式出现。所以我的问题是,有没有办法让我在屏幕上显示不服从自动旋转的图像,但让对话框跟随自动旋转?或者对我来说也是处理图像自动旋转的正确解决方案?我想我可以做的一件事是将旋转固定为横向模式,因为大多数平面图都适合横向,但是如果有人确实想要纵向图像怎么办?

4

1 回答 1

0

在我(不是这样)的拙见中,你不应该在没有很好的理由的情况下修正方向并原谅我,但“我很懒”不是一个很好的理由;)

有几个选项可供您使用。

不做任何事情,设置 Imageview 的 scaleType 属性将使您能够加载图像,并以完整的比例缩放。然后,您可以覆盖 onConfigurationChanged 回调并将 scaleType 设置为对您的应用有意义的值,具体取决于图像方向(只需检查宽度>高度)。

或者,您可以测量应用程序的比例,然后在查看图像时将方向设置为纵向或横向,然后在用户关闭图像查看活动时切换到当前设备方向。

你的用户会更开心,你最终会得到更优雅、更受支持和更令人满意的代码。

我的经验告诉我,不花时间预先做这类事情最终会导致更多的工作和/或痛苦。

帮自己一个忙(和你的用户),做对了……

于 2012-04-12T19:25:25.760 回答