点九图,应用中很正常就会用到的,遇到一些需要拉伸的图,我们就会用到.9图,自己制作好拉伸区域和内容区域即可。资源数据类型为: NinePatchDrawable
- 拉伸区域:图片随着控件拉伸的时候,拉伸的区域
- 内容区域:搁置内容的区域,比如文字
制作.9图很简单,在以前我们需要使用sdk中的工具来制作,使用Android studio(后简称AS)后直接在AS中打开图即可如图:
- 左:为制作图片区域
- 右:为制作图片效果区域
制作步骤如下
- 选取图片,后缀用.9.png
- 放入AS中打开
- 可以勾选底部Show patches , 显示制作交点
- 建议勾选Show content , 显示内容区域,如右边
- 左侧使用鼠标进行拉伸
- 左、上两边为拉伸区域
- 右、下两边为内容区域
- 制作完成
- 在xml中引用
引用
一. 直接引用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/nine_patch"
android:gravity="center"
android:text="我是来点9图占位的哦" />
二. 先放xml中再引用
1 . 图片在xml中
<?xml version="1.0" encoding="utf-8"?>
<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:dither="false"
android:src="@drawable/nine_patch"
tools:ignore="ResourceCycle" />
参数:
-
android:src : 选择.9图片路径
-
android:dither : 抖动,当位图的像素配置与屏幕不同时(例如:ARGB 8888 位图和 RGB 565 屏幕),启用或停用位图抖动
2 . 再在布局中引用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/nine_patch_xml"
android:gravity="center"
android:text="我是来点9图占位的哦" />
效果
使用的TextView,基本配置如下,都是warp_content和center
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
第一个TextView背景是内容区域几乎贴满图片。第二个内容区域是靠左下。内容区域可在制作的时候show_content来查看控制。
拉伸区域都是中间部分,因为我这个图是横条部分都可以拉伸,真实制作的时候,根据图片而定,总不能在一些不该拉伸的部分去让它拉伸吧。点9图是常用到的,像聊天框就多会用到,比较简单,各位自己试一次就能完全了解。