使用android studio制作.9图

来源:互联网 发布:zipalign优化教程 编辑:程序博客网 时间:2024/06/05 02:09
准备工作
1. 准备一张png的图片,这里在阿里图库上下载一张png图片

popup.png

放到mipmap文件夹下,然后右键操作如图

create

选择drawable文件夹保存

图示2

然后就可以删除mipmap文件夹下的原图了。

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

图示3

——————————————–分割线——————————-

制作

需求:文字居中,左右拉伸和上下拉伸,中间那个倒三角不要拉伸

需要了解的知识点

1.四边处理:

四点图

A和D的两个点(这里是两个点,1个像素格子),标记A代表横向拉伸沾染的像素源。同理,标记D代表纵向拉伸沾染的像素源。标记B和标记C,他们表示的是内容的显示位置。2. 鼠标左键在边缘后按下就是画点,然后移动就会画线,如果想擦除线或者点,可以先放大(zoom),然后按住shift,鼠标左键按下就是擦除。3. 看了好多点9图的制作教程,针对这个需求,总是绘制错误,想当然的以为下面才是对的

错误图

看右侧的效果预览图没有问题,完美啊,按住cmd+s保存


3. 使用这个点9图,去运行

  <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     }}

然并卵,编译还是不通过,只有看错误日志了

错误log

提示在底部边缘存在超过1个标记的区域(这里是2个了),那么去修改。改为1个标记区域

正确的示范

运行之后,满足要求啊。

效果图

4. 注意事项:
把A点画在倒三角那里,预览图就错了,这个不用说吧

错误打点1

有小伙伴可能会问,A处有两个点,这两个点的像素属性是一样的,可否只需要打一个点,不行!

错误打点2

最后:系统控件在使用点9图作为背景时,要注意宽高最好使用wrap_content属性,xml里设置padding貌似不能得到想要的效果,所以在制图过程中请留出padding即可。

更多细节等您来玩。

原创粉丝点击