2012-01-18 116 views
5

我想更改我的應用程序中縮放控件的預定義樣式,使其看起來像Google地圖應用中的新縮放控件。請看下圖:更改MapView中的縮放控件

enter image description here

我該怎麼辦呢?我一直在四處尋找,我還沒有找到任何東西。

在此先感謝。

+0

你想要做什麼完全可以給你更多的細節? – DuyguK 2012-01-18 15:50:15

+0

我想知道是否有任何簡單的方法來改變縮放按鈕的外觀,或者我必須創建新的drawable並將它們添加到項目中,重寫偵聽器等......但我想我必須創建我自己的縮放按鈕 – jalv1039 2012-01-18 16:04:31

+0

@ jalv1039:你會很容易地得到這樣的按鈕,如果你在谷歌搜索, – 2012-01-18 18:32:41

回答

5

你應該有即四個圖像繪製資源:

  1. 放大(+)啓用/禁用
  2. 縮小( - )啓用/禁用

把它們MapView佈局一個ImageViewButton與背景圖像作爲上述drawables。

那麼你應該分配onClickListeners像:

zoomIn.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mapView.getController.zoomIn() 
     checkzoom(); 
    } 
}); 

zoomOut.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mapView.getController.zoomOut() 
     checkzoom(); 
    } 
}); 

public void checkzoom() { 
    if(mapView.getZoomLevel()==1) // dont know if 0 or 1, just wrote it 
    { 
     zoomOut.setEnabled(false); 
     // or u can change drawable and disable click 
    } 
    if(mapView.getZoomLevel()==18) { 
     zoomIn.setEnabled(false); 
     // or u can change drawable and disable click 
    } 
} 

編輯: zoom in zoom out

5

我解決了這個問題是這樣的:禁用內置縮放控件(setBuiltInZoomControls(false)),加入我自己的按鈕添加到用戶界面並添加處理程序以點擊按鈕事件。