准备工作
1. 准备一张png的图片,这里在阿里图库上下载一张png图片
|


3. 选中这个未处理的点9图,然后点击9patch按钮
|

——————————————–分割线——————————-
制作
需求:文字居中,左右拉伸和上下拉伸,中间那个倒三角不要拉伸
需要了解的知识点

A和D的两个点(这里是两个点,1个像素格子),标记A代表横向拉伸沾染的像素源。同理,标记D代表纵向拉伸沾染的像素源。标记B和标记C,他们表示的是内容的显示位置。
2. 鼠标左键在边缘后按下就是画点,然后移动就会画线,如果想擦除线或者点,可以先放大(zoom),然后按住shift,鼠标左键按下就是擦除。
3. 看了好多点9图的制作教程,针对这个需求,总是绘制错误,想当然的以为下面才是对的
|
看右侧的效果预览图没有问题,完美啊,按住cmd+s保存
|
<TextView
android:id="@+id/tv"
android:gravity="center"
android:textColor="#ffffff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/popup"
android:text="Hello World!"/>
Error: java.lang.RuntimeException: Crunching Cruncher popup.9.png failed, see log
然后去百度,各种都是在gradle添加
android{
aaptOptions{
cruncherEnabled = false
useNewCruncher = false
}
}
提示在底部边缘存在超过1个标记的区域(这里是2个了),那么去修改。改为1个标记区域 |


4. 注意事项:
把A点画在倒三角那里,预览图就错了,这个不用说吧
|
有小伙伴可能会问,A处有两个点,这两个点的像素属性是一样的,可否只需要打一个点,不行!
|
最后:
系统控件在使用点9图作为背景时,要注意宽高最好使用wrap_content属性,xml里设置padding貌似不能得到想要的效果,所以在制图过程中请留出padding即可。
更多细节等您来玩。