Я работаю над приложением андроида, и я могу к отображенному несколько значков на использовании карты ItemizedOverlay, и я также реализовал onTap (международный индекс) метод ItemizedOverlay для отображения значка определенная информация в необходимом окне.
Теперь, я хочу изменить значок выбранного наложения, когда пользователь нажимает на некоторый другой coponent. Я называю setFocus (OverlayItem) методом ItemizedOverlay для отображения другого значка определенного наложения. это хорошо работает, когда пользовательское касание на любом определенном наложении, но не изменяет значок, когда я называю setFocus (OverlayItem) методом.
Какие-либо указатели? что такое лучший способ programtically изменяющегося значка выбранного наложения в mapView?
У меня есть метод overriden getMarker моего пользовательского класса OverlayItem для отображения различных маркеров для другого состояния overlayItem., и я хочу использовать setFocus (OverlayItem) метод, чтобы изменить состояние OverlayItem и также изменить маркер при выборе.
@Override
public Drawable getMarker(int stateBitset){
if(stateBitset==0){
icon = Util.getCategoryMapIcon(0);
icon.setBounds(0-icon.getIntrinsicWidth()/2, 0-icon.getIntrinsicHeight(), icon.getIntrinsicWidth()/2, 0);
return icon;
}else {
icon = Util.getCategoryMapIcon(OverlayItem.ITEM_STATE_SELECTED_MASK);
icon.setBounds(0-icon.getIntrinsicWidth()/2, 0-icon.getIntrinsicHeight(), icon.getIntrinsicWidth()/2, 0);
return icon;
}
}
здесь Util.getCategoryMapIcon (0) является Служебный метод возвратить соответствующий значок, этот метод берет некоторые параметры, которые я удалил, чтобы заставить этот пример выглядеть простым.
и ниже код для изменения состояния
Button leftNavigation = (Button) findViewById(R.id.left_navigation_button);
leftNavigation.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
OverlayItem item = searchResultsOverlay.get(index+1);
setFocus(item);
}
});
Любая справка будет очень цениться. Спасибо, Aamir
В вашем CodeMarker
Getmarker , попробуйте вернуть StateListdrawable (который соответствует
в Drawable XML), который содержит Dulk Drawnable (no Stucts) и нанесенный с помощью android.r.attr.state_foCused
состояние.
См. Дешеводитель здесь: Цвет селектора ListView Android