2014-09-06 3 views
0

Я хочу сделать прозрачный круг в центре экрана, а непрозрачный - на остальной части экрана. Возможно ли это с возможностью рисования? Или это можно сделать программно.Как сделать этот тип рисунка в xml

Я добавил изображение поверх карты. Карта работает отлично. Но проблема в том, что я хочу поддерживать несколько разрешений, поэтому я не хочу использовать разные изображения. https://www.dropbox.com/sh/yyafqik996p4avp/AABc8ZMKi4pks_BQutQrbg8aa?dl=0

EDIT:

1) Карта изображения, что мой ожидаемый результат. 2) Изображение Mapfilter - это то, что я хочу создать, используя drawable или программно. 3) Выходное изображение - это то, что я получаю при использовании метода ниже.

Я использовал этот метод, чтобы сделать второе изображение http://pastebin.com/MUrH8gmS

я поставил выходную битовую карту на мой взгляд изображений с использованием метода setImageBitmap

Но теперь проблема оставляет некоторое пространство слева и справа от изображение (см. изображение Output.png). Как его удалить?

+0

Перед тем, как нарисовать прямоугольник, обведите круговую дорожку на холсте – suitianshi

+0

@suitianshi Захват кругового пути дает мне растровое изображение с заполненным кружком и остальной частью экрана прозрачным, но я хочу, чтобы это было oppsite. – Sanjay

+0

добавьте параметр 'Region.Op' к вашей функции. – suitianshi

ответ

0

Вы можете использовать GroundOverlay.GroundOverlay, чтобы установить изображение прозрачного круга в центр карты.

+0

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

+0

@Sanjay imho вы не можете сделать это в xml, но можете легко это сделать, написав пользовательскую форму и передать ее ShapeDrawable – pskink