首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在MapView中放置缩放控件

在MapView中放置缩放控件
EN

Stack Overflow用户
提问于 2008-11-04 21:30:22
回答 5查看 45.1K关注 0票数 19

我试图让缩放控件显示在mapview中,下面的代码几乎可以工作,但缩放控件显示在mapview的左上角,而不是我通过setGravity()指定的中下角。有人能告诉我我错过了什么吗?

代码语言:javascript
复制
zoomView = (LinearLayout) mapView.getZoomControls();
zoomView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT)); 
zoomView.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
mapView.addView(zoomView);

这些视图/布局都是以编程方式构建的,没有需要调整的布局文件。

EN

回答 5

Stack Overflow用户

发布于 2010-03-23 20:41:58

将以下行添加到MapView类的OnCreate()方法中:

view.setBuiltInZoomControls(true);

票数 23
EN

Stack Overflow用户

发布于 2011-05-13 06:51:39

上面的方法不适用于我,但是这个方法可以(将控件放在右下角):

代码语言:javascript
复制
mapView.setBuiltInZoomControls(true);
ZoomButtonsController zbc = mapView.getZoomButtonsController();
ViewGroup container = zbc.getContainer();
for (int i = 0; i < container.getChildCount(); i++) {
    View child = container.getChildAt(i);
    if (child instanceof ZoomControls) {
        FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) child.getLayoutParams();
        lp.gravity = Gravity.RIGHT | Gravity.BOTTOM;
        child.requestLayout();
        break;
    } 
}
票数 7
EN

Stack Overflow用户

发布于 2009-02-27 11:45:15

google groups thread中,我发现了以下内容:

不带XML的ZoomControls:

代码语言:javascript
复制
   public class MyMapActivity extends MapActivity {  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        RelativeLayout relativeLayout = new RelativeLayout(this);
        setContentView(relativeLayout);

        final MapView mapView = new MapView(this, DEBUG_MAP_API_KEY);
        RelativeLayout.LayoutParams mapViewLayoutParams = new
RelativeLayout.LayoutParams
(RelativeLayout.LayoutParams.FILL_PARENT,RelativeLayout.LayoutParams.FILL_PARENT );
        relativeLayout.addView(mapView, mapViewLayoutParams);

        RelativeLayout.LayoutParams zoomControlsLayoutParams = new
RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT );
        zoomControlsLayoutParams.addRule
(RelativeLayout.ALIGN_PARENT_BOTTOM);
        zoomControlsLayoutParams.addRule
(RelativeLayout.CENTER_HORIZONTAL);

        relativeLayout.addView(mapView.getZoomControls(),
zoomControlsLayoutParams);

        mapView.setClickable(true);
        mapView.setEnabled(true);

 } 

是否100%适合我使用SDK1.1

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/263507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档