2012-01-18 17 views
5

Chciałbym zmienić wstępnie zdefiniowany styl elementów sterujących powiększeniem w mojej aplikacji, aby wyglądały jak nowe elementy sterujące powiększeniem w aplikacji mapy google. Patrz poniżej:Zmiana sterowania powiększeniem w MapView

enter image description here

Jak mogę to zrobić? Rozglądałem się i nic nie znalazłem.

Z góry dziękuję.

+0

Co chcesz dokładnie zrobić, możesz podać więcej szczegółów? – DuyguK

+0

Chciałbym wiedzieć, czy istnieje jakikolwiek łatwy sposób na zmianę wyglądu przycisków zoomu lub muszę utworzyć nowe rysunki i dodać je do projektu, przesłonić słuchaczy itd., Ale myślę, że muszę stworzyć moje własne przyciski powiększania – jalv1039

+0

@ jalv1039: łatwo dostaniesz takie przyciski, jeśli wyszukasz w Google, –

Odpowiedz

5

Trzeba cztery kanału alfa obrazu mianowicie:

  1. Powiększanie w (+) włączyć/wyłączyć
  2. Pomniejsz (-) włączanie/wyłączanie

Umieść je w MapView układ ImageView lub Button z obrazem w tle, jak powyższe rysunki.

Następnie należy przypisać onClickListeners jak:

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 
    } 
} 

EDIT: zoom in zoom out

5

I rozwiązać problem w ten sposób: niepełnosprawne zbudowany w kontroli zoomu (setBuiltInZoomControls(false)), dodał własne przyciski do interfejsu użytkownika i dodane procedury obsługi zdarzeń kliknięcia przycisku.