《第一行代码》学习之制作Nine-Patch图片

空闲时学习《第一行代码》,制作Nine-Patch图片,作个学习记录。

Nine-Patch图片是一种被特殊处理过的png图片,能够指定哪些区域可以被拉伸、哪些区域不可以。
将一张气泡样式的图片message_left.png设置为LinearLayout的背景图片,修改activity_main.xml中的代码如下:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/message_left">
</LinearLayout>

将LinearLayout的宽度指定为match_parent,背景图设置为message_left,运行程序,效果图如下所示
这里写图片描述
可以看到,由于message_left的宽度不足以填满整个屏幕的宽度,整张图片被均匀地拉伸!这时可以使用Nine-Patch图片来进行改善。
1.创建Nine-Patch图片
方式一:在Android sdk目录下有个tools文件夹,在文件夹中找到draw9patch.bat文件,用此文件制作Nine-Patch图片。要打开这个文件,必须先将JDK的bin目录配置到环境变量当中,比如使用的是Android Studio内置的jdk,要配置的路径就是〈Android Studio 安装目录〉/jre/bin。双击打开draw9patch.bat文件,在导航栏点击File—〉Open 9-patch将message_left.png加载进来。
方式二:从Android Studio 2.3开始,不再提供单独的draw9patch.bat文件,这个功能直接被集成到Android Studio当中。在Android Studio中对着任意一张png图片右击——〉Create 9-Patch file,即可创建Nine-Patch图片。
创建的message_left.9.png图片如下所示
这里写图片描述

2.制作Nine-Patch图片
在图片中四个边框绘制一个个的小黑点,在上边框和左边框绘制的部分表示当图片需要拉伸时就拉伸黑点标记的区域,在下边框和右边框绘制的部分表示内容会被放置的区域。使用鼠标在图片的边缘拖动就可以进行绘制,按住Shift键拖动可以进行擦出。绘制完成后的效果图如下
这里写图片描述
最后将绘制好的图片进行保存,此时文件名为message_left.9.png。使用这张图片替换掉之前的massage_left.png图片(将原工程中message_left.png删去,activity_main.xml中的android:background=”@drawable/message_left”不变),重新运行程序,效果图如下
这里写图片描述
这样当图片需要拉伸的时候,就可以只拉伸指定的区域了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值