Ответ 1
С помощью растягиваемых патчей вы в основном говорите Android, какие строки и столбцы пикселей в изображении вы хотите повторить. Когда вы растягиваете стандартное изображение, есть две возможности: одна, пропорционально масштабируется, но все же теряет резкость из-за интерполяции; Во-вторых, он масштабируется непропорционально, и теряет не только его остроту, но и свою форму. Ниже приведен пример непропорционального масштабирования:
Итак, цель черных линий - показать Android, какие области изображения безопасны для повторения. Верхний угол определяет столбцы (столбцы), которые он может растягивать, а левый угол определяет строки (строки), которые могут растягиваться. Нижний и правый углы просто определяют фактическую область содержимого (например, когда кнопке разрешено размещать текст), вы можете зарезервировать дополнительное пространство для прокладки рамки. На изображении ниже вы можете видеть, что два черных пикселя на внешней стороне кадра определяют строки на изображении, а один сверху определяет столбец.
И ниже, это показывает результат 9-патчей, растянутых до разных размеров. Если он расширяется, чтобы быть более широким, половинки изображения слева и справа от определенного растяжимого столбца выравниваются влево и вправо от нового размера, а определенный столбец повторяется, чтобы заполнить пробел между ними. То же самое происходит с определенными строками; если вы используете кратность (я не верю, что вы можете использовать более двух строк/столбцов), он просто равномерно заполняет пространство их обоими; в этом случае я использовал его, чтобы градиент равномерно расщеплялся посередине.