2012-01-18 4 views
5

Я хотел бы изменить предопределенный стиль элементов управления масштабированием в моем приложении, чтобы они выглядели как новые элементы управления увеличением в приложении Google Maps. Смотрите ниже:Изменение элементов управления масштабированием в MapView

enter image description here

Как я могу это сделать? Я оглядывался, и ничего не нашел.

Заранее спасибо.

+0

Что вы хотите сделать точно, можете ли вы дать более подробную информацию? – DuyguK

+0

Я хотел бы знать, есть ли какой-либо простой способ изменить внешний вид кнопок масштабирования, или мне нужно создать новые чертежи и добавить их в проект, переопределить прослушиватели и т. Д. ... но я думаю, мне нужно создать мои собственные кнопки масштабирования – jalv1039

+0

@ jalv1039: u получит такие кнопки легко, если вы выполните поиск в google, –

ответ

5

Вы должны иметь четыре вводимого коэффициента изображения а именно:

  1. Масштабирование в (+) включить/отключить
  2. Уменьшить (-) включить/отключить

Поместите их в MapView layout a ImageView или Button с фоновым изображением, как показано выше.

Затем вы должны назначить 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 
    } 
} 

EDIT: zoom in zoom out

5

Я решил проблему таким образом: инвалиды, встроенный в элементах управления зумом (setBuiltInZoomControls(false)), добавили свои собственные кнопки к пользовательскому интерфейсу и добавленным обработчикам для нажатия на события кнопок.