2012-04-20 72 views
1

以纵向模式运行时,是否可以通过编程(不是XML)将Android上的单个视图(MapView)更改为横向模式?以编程方式在横向之间切换的方法<-> Android上单个视图的纵向?

我有我的应用程序中的Google地图视图。通常,用户将以纵向模式运行应用程序,但是有一个功能会以当前状态显示地图的位图截图,但我希望在用户不必移动手机的情况下进行景观设计。之后我会将视图恢复为原始的肖像。

+1

如果你想改变活动ori:'活动。 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); ',但如果你只是想在你的活动中改变一些观点,我认为你不能这样做。 – idiottiger 2012-04-20 07:12:50

回答

2

否:方向当前是在活动级别处理的,而不是视图级别。如果你有一个完全自定义的视图,你可以自己选择横向绘制它(横向只是横向较长,垂直较短),但使用MapView时,你不能获得该选项。

+0

感谢您的澄清。重新实现定制MapView的draw()函数对于这个项目的范围来说太复杂了,所以我会放弃。 – pilcrowpipe 2012-04-20 10:09:39

0

您不必完全重新实现绘制方法。只需在MapView子类中实现自定义绘制方法,该方法将旋转应用于Canvas,调用super.draw(),然后恢复先前的Canvas转换。 Simples!

相关问题