最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

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

Android crifan 5167浏览 0评论

【背景】

折腾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图片。

转载请注明:在路上 » 【整理】Android中9 patch图片中的边框中红线的含义

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.171 seconds, using 22.11MB memory