【整理】Android中9 patch图片中的边框中红线的含义

【背景】

折腾Android中的9 patch图片,对于EditText来说,对应的是:

edit_text_holo_light_xxx.xml

来说,其中的9 patch图片,比如:

xxx_textfield_activated_holo_light.9.png

中,9 patch的边框中,除了黑色线条,还有红色线条:

之前学习9 Patch:

【记录】研究Android中的9 patch的图片的原理以及如何去生成对应图片

时,没注意到有提到什么红线的含义。

此处想要去搞懂其含义。

【折腾过程】

1.参考:

Android 9 Patch tool What is the new layout bounds feature – Stack Overflow

找到官网的解释:

Android 4.3 APIs | Android Developers

->

"Optical bounds layout"

简单解释就是:

9 patch的边框中,黑线是必须的

红线是可选的

可选的红线,表示的是optical bounds,可选的边界说明

官网有图示,但是说实话,真心没有完全看懂,只是大概明白其含义了。

 

借助于官网的图片,尝试解释如下:

官网中给出的示例的带红线的9 patch图片:

ninepatch_opticalbounds at 2x example

红线部分对应的区域就是:

ninepatch_opticalbounds red line region

也就是说,红色这部分区域,是需要在指定的时候,去掉的区域,不显示的区域。

所以,对于普通的,不带可选边界optional bounds的图片:

default effect with clipbound

去掉那部分红色后:

default effect with clipbound red line region

就变成了:

new without red region for opticalbounds

  ->

9 patch中,红线用于控制,去掉不需要的,多余的边框部分的内容。

->

自己根据实际需要,去加上对应的红线,用于去除不需要的多余的边框。

 

【总结】

9 patch,是个好东西。

只是稍微有点复杂。

需要更多的实践之后才能真正理解,并且能够制作出自己想要的9 patch图片。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量