Android Drawable之点9图

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ddxxii/article/details/79774684

点九图,应用中很正常就会用到的,遇到一些需要拉伸的图,我们就会用到.9图,自己制作好拉伸区域和内容区域即可。资源数据类型为: NinePatchDrawable

  1. 拉伸区域:图片随着控件拉伸的时候,拉伸的区域
  2. 内容区域:搁置内容的区域,比如文字

制作.9图很简单,在以前我们需要使用sdk中的工具来制作,使用Android studio(后简称AS)后直接在AS中打开图即可如图:

  • 左:为制作图片区域
  • 右:为制作图片效果区域

制作步骤如下

  1. 选取图片,后缀用.9.png
  2. 放入AS中打开
    • 可以勾选底部Show patches , 显示制作交点
    • 建议勾选Show content , 显示内容区域,如右边
  3. 左侧使用鼠标进行拉伸
    • 左、上两边为拉伸区域
    • 右、下两边为内容区域
  4. 制作完成
  5. 在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图是常用到的,像聊天框就多会用到,比较简单,各位自己试一次就能完全了解。

猜你喜欢

转载自blog.csdn.net/ddxxii/article/details/79774684