Изменить значок маркера в зависимости от состояния правильно? - PullRequest
0 голосов
/ 07 января 2011

Я могу нарисовать маркер на основе состояния (например, поле в моем расширенном OverlayItem классе), используя следующий код:

@Override
public Drawable getMarker(int pStateBitset)
{
  Drawable currentMarker = super.getMarker(pStateBitset);

  Drawable[] toDrawLayers;
  if (mSelected)
  {
    BitmapDrawable overlay = (BitmapDrawable) mSELECTED_OVERLAY;
    overlay.setAntiAlias(true);

    toDrawLayers = new Drawable[] { currentMarker, overlay };
  }
  else
  {
    toDrawLayers = new Drawable[] { currentMarker };
  }

  return new LayerDrawable(toDrawLayers);     
}

Это работает, как и ожидалось (рисование маркера, такого какActual marker).Свечение маркера - это эффект, которого я хочу достичь.Согласно приведенному выше коду, он генерируется двумя уровнями Drawable, а именно (например) School Marker и Marker Overlay.

Я должен был убедиться, что размер свечения такой же, как у обычного изображения маркера, чтобы результирующее Drawable не масштабировалось (размер изображения маркера составляет 32x37 пикселей).

Однако то, к чему я стремлюсь, - это на самом деле большее свечение (что, в действительности, привело бы к большему изображению), такое как: alt text

Как я могу сделать отрисовку, которая даетбольшее свечение (таким образом, используя изображение, которое действительно больше, чем нормальное изображение маркера) и приводит ли не к нормальному маркеру с масштабированием / изменением размера?Это осуществимо?

Заранее спасибо, я могу предоставить любую дополнительную информацию, если это необходимо.

1 Ответ

0 голосов
/ 07 января 2011

Используйте другое изображение маркера. Вот пример проекта , показывающий изменение изображения маркера на основе пользовательского ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...