Создание 9 патчей с повторяющимся паттерном

Я застрял с созданием девяти патчей для фона прогрессбара. У него есть повторяющийся узор, похожий на линейку-скала, и это вызвало у меня головную боль.

вот изображение того, что я хочу (внизу) и что у меня есть (вверху). 9Patch Проблема

может кто-нибудь дать мне подсказку, как достичь моей цели?

edit: или это вообще возможно сделать с 9 патчем? моя другая попытка состояла в том, чтобы сделать с android:tileMode="repeat" но там у меня проблемы с высотой моего изображения (повторение во второй строке), мне нужно что-то вроде repeat-x.

заранее спасибо

edit2: хорошо, мне удалось сделать свой повторяющийся 9 патч, растянув весь повторяющийся узор, но это не идеально :(


person Michele    schedule 10.08.2011    source источник
comment
Я тоже так хотел: у меня есть кнопка с заливкой узором, которую я хочу повторять, а не растягивать, сохраняя при этом границы как в оригинале. Может в новом андроиде...   -  person Oliv    schedule 02.10.2012


Ответы (2)


Похоже, вы переоцениваете силу 9-патчей. Максимум, что вы можете сделать, это иметь изображение линейки с расширяющимся пространством между делениями. Однако вы не можете сделать 9-патч, который автоматически разбивает части вашего изображения.

С другой стороны, если вы создаете BitmapDrawable программно, вы можете установить режим плитки отдельно для осей X и Y.

person Delyan    schedule 13.08.2011
comment
о, круто, отдельно режимы плитки огромны. Я попробовал вашу идею, отметив только промежутки между галочками, чтобы изображения линейки растягивались внутри промежутков. Но 9патч не дает мне сохранить этот 9патч из-за плохих патчей (из-за того, что гапсы прозрачные?). - person Michele; 13.08.2011
comment
Да, инструмент, похоже, не любит прозрачности. Попробуйте это на устройстве, оно действительно может работать. - person Delyan; 13.08.2011

Раньше я делал это в своем проекте веб-просмотра, используя изображение границы, которое предоставляет обе опции (повторение, растяжение, заливка).

Поскольку у веб-просмотра есть свои проблемы в Android (в основном фиксированный элемент), я решил быть более андроидным для следующего проекта и обнаружил, что невозможно иметь повторяющуюся границу с использованием 9Patch. Это так неудобно, поскольку это необходимо, но не реализовано.

Одним словом, область разработки Android сводит меня с ума, один вариант здесь один вариант здесь обычное дело.

person Ali    schedule 08.12.2012