1. Nine-Patch图片它是谁
它是一种被经过特殊处理过的png图片,能够指定哪些区域可以被拉深,哪些区域不可以。
2. 我们为什要和它见面
- 例子说明:一张普通的气泡样式png图片
- 将这张图片作为一个TextView的背景,如下所示:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:paddingLeft="15dp"
android:gravity="center"
android:background="@drawable/left"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
运行:
当文本内容过长,背景图片被均匀的拉伸开来,这是非常不允许的。
3. Nine-Patch图片de制作
方法一:
选择要制作的图片进行操作,得到一张格式为***.9.png图片:
在打开的编辑界面的四周进行操作,图片四周的黑带就是可以自动拉伸的区域,而其他区域不会拉伸。
最后重命名(将.9的部分去掉)保存下来,替换掉之前的图片,重新运行效果如下:
方法二: 在Android Studio 2.3以前,在Androidsdk目录下有一一个tools文件夹,在这个文件夹中找到draw9patch.bat文件,我们就是使用它来制作Nine-Patch图片的。要打开这个文件,必须先将JDK的bin目录配置到环境变量当中才行。
从Android Studio 2.3开始,不再提供单独的draw9patch.bat文件,这个功能直接被集成到了Android Studio当中,即方法一。
- 这样当图片需要拉伸的时候,就只要拉伸指定区域,外观就嗖嗖嗖的上去啦。