如何使用Android ZoomButtonsController?

如何使用Android ZoomButtonsController?,android,zooming,Android,Zooming,好吧,我已经绞尽脑汁了 我不知道该怎么做。我想要的只是有一个缩放控件,我[显示|隐藏|[启用|禁用]缩放[放大|缩小]按钮]用于我的视图。我无法将它添加到布局xml中,当我在onCreate中实例化它时,我无法在屏幕上看到它 View viewer = ... ZoomButtonsController controller = new ZoomButtonsController(viewer); controller.setVisible(true); 我希望您需要在ZoomButtons

好吧,我已经绞尽脑汁了

我不知道该怎么做。我想要的只是有一个缩放控件,我[显示|隐藏|[启用|禁用]缩放[放大|缩小]按钮]用于我的视图。我无法将它添加到布局xml中,当我在onCreate中实例化它时,我无法在屏幕上看到它

View viewer = ...
ZoomButtonsController controller = new ZoomButtonsController(viewer);
controller.setVisible(true); 

我希望您需要在
ZoomButtonsController
上调用
GetZoomControl()
,然后将其添加到布局中希望按钮出现的位置。当缩放控件理论上可见时,您可以通过使用
hierarchyviewer
获取视图层次结构的快照来确认这一理论——如果它们不在视图层次结构中,则需要添加它们。

我尝试过这一点,但当我尝试将缩放控件添加到我的RelativeLayout时,我遇到一个异常:指定的子项已具有父项。。。ZoomControl的父级似乎是ZoomButtonsController$容器。@Axarydax:确定。查看
ZoomButtonsController
上的
getContainer()
是否在视图层次结构中。如果不是,请尝试将其添加到布局中。@Shardul:不,对不起,我没有直接使用缩放控件,只是通过
WebView
MapView
间接使用。我已将ZoomButtonsController.getContainer()添加到我的视图中,现在它可以工作了。谢谢@阿克萨里达斯:啊,好的。这意味着
MapView
上的
getZoomControl()
等方法可能返回容器,而不是实际控件本身。这些名字把我弄糊涂了。很高兴听到你一切顺利!