前言

昨天在处理 UI 界面微调的时候,再一次用到了 .9 格式图片。我们是 UI 只出 JPG 格式的图, .9 图需要自己做。 因为项目之前已经用到了 .9 图,所以我之前也就大致查了下 .9 图的制作方法,只是大致记住调整四条边就 ok 了。然而昨天自己调的时候忘了四条边的含义,折腾了一会。 所以,虽然很简单,还是要记录一下的。

为什么用.9图片

我们知道一般的图片被拉伸会失真。而我们有些场景如聊天消息气泡因内容不固定,如果被拉伸就会失真。如下图:

用了.9图后,效果是这样的:

是不是立竿见影?

如何制作 .9 图片?

1.修改文件后缀名

拿到 UI 给的 jpg 的 图片导入到 android studio 之后,需要修改图片名称添加 .9 标识。如 message_bubble.9.png 。

修改完名称后,就可以看到,图片预览那一栏下面多了两个 tab 栏:9-Patch 和 ImageFileEditor .。 选中 9-Patch 栏,我们可以看到如下界面:

左边的是我们的原图,右边可以看到有3张图。其中1代表竖直方向拉伸后的图片,2 代表水平方向拉伸后的图片,3代表竖直方向和水平方向都拉伸后的图片。
可以看到,拉伸后气泡的那个尖角已经变形了。这张图也许变形的不明显,这时我们调整一下patch scale 放大查看,效果就很明显了。

所以,下面就让我们开始制作.9图片吧。

2.制作.9图片

将鼠标移到左边原图上,这个时候会看到边界显示的有好几条线,通过移动这几条线,就可以给图片绘制1px宽度的黑线。

这里就必须说一下四条边上黑线的含义了,也是制作的秘诀。

  • 上边:控制图片水平方向可拉伸的区域
  • 左边:控制图片竖直方向可拉伸的区域
  • 右边:控制图片内包裹内容的竖直显示区域
  • 下边:通知图片内包裹内容的水平显示区

也就是左上两条边控制图片本身的拉伸,右下两条边控制图片包裹内容的显示区域。

那聊天气泡的.9图就可以这样做了:

这里说一下我为什么要这么做,因为是消息气泡,所以这几条边是这样弄的:

  • 上边:代表水平可拉伸区域,在水平方向设置一点黑线(不用设置很长,因为黑线区域就表示可无限拉伸)
  • 左边:代码竖直方向可拉伸的区域,注意这个黑线我是设置在尖角下方位置的,因为我想要的是如果竖直方向内容很多,尖角还是偏上,不要居中。
  • 右边,内容竖直方向区域是要充满气泡的,但不能到圆角部分
  • 下边,内容水平方向区域是要充满气泡的,但是不能到圆角部分

设置完后,就可以看到这图的效果了,然后我们设置一下scale参数,发现就算被放大到很大,图片依然没有失真,那我们的 .9 就算成功了。

这里再说一下上图中几个可勾选内容的意思:

  • show lock :暂时不知道什么意思,只是注意到如果勾选,鼠标放到原图上会出现一块红黑色区域
  • show content :图片包裹内容的显示区域,也就是上图右边部分图篇蓝色部分
  • show patches:显示图片被拉伸的区域,也就是上图左边原图中间那个红色小区域
  • show bad patches: 显示做的不好的可拉伸的区域。比如,我们的消息气泡的那个尖尖我们肯定不想被拉伸,如果我们照如下图设置左边黑线让尖角也是可拉伸的区域,就会显示 bad patches。

到此,我们的 .9 图就制作完毕了。

参考文章

https://www.jianshu.com/p/3fd048644e3f

http://www.ui.cn/detail/290941.html

android studio 制作.9 图片相关推荐

  1. Android Studio制作.9图片,看这一篇就够了

    一..9.png图片概念 这是安卓开发里面的一种特殊的图片 这种格式的图片在android 环境下具有自适应调节大小的能力,不会失真 (1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更 ...

  2. android studio制作.9图片,并且不改变原图大小

    先大概讲一下基本的配置: 1:把所需要的图片放到drawable文件夹下, 2:更改图片名称为 ***.9.png, 3:对图片进行操作(操作规则如下){ 1:左边,上边代表所拉伸的区域 2:右边,下 ...

  3. Android studio 制作.9图片步骤

    开始制作.9图片 第一步:准备原图 将图片放到drawable目录下下面. 第二步:create 9patch图片 右键图片选择create 9-Patch file...,选择存放的路径后,也就放在 ...

  4. Android studio中.9图片的含义及制作教程

    记得刚学Android的时候对.9图片很懵逼,当时同学使用android studio制作.9图片的时候感觉好神奇,但是年少轻狂的我并没有学会哦.刚好今天接触到这个.9图片,就打算今天把这个弄懂,不对 ...

  5. Android Studio 制作微信界面 上

    工程功能介绍 打开app,首先是个闪屏界面(常见于一般打开app时的小广告),设置时间为2s后进入登录界面.在登录界面中,中间可以输入密码,点击登录按钮进入微信的界面.   微信的界面由4个fragm ...

  6. 蓝牙聊天App设计1:Android Studio制作蓝牙聊天通讯软件(UI界面设计)

    前言:蓝牙聊天App设计全部有三篇文章(一.UI界面设计,二.蓝牙搜索配对连接实现,三.蓝牙连接聊天),这篇文章是一.UI界面设计 课程1:Android Studio小白安装教程,以及第一个Andr ...

  7. Android Studio制作搜索栏

    Android Studio制作搜索栏 前言 一.何为自定义控件? 二.制作步骤 1.引入布局 2.布局解析 测试 前言 一.何为自定义控件? 系统自带的控件都是直接或间接继承自View的,View是 ...

  8. Android Studio 制作微信界面 下

    主界面 上一篇文章的链接: Android Studio 制作微信界面 上_nazonomaster的博客-CSDN博客https://blog.csdn.net/nazonomaster/artic ...

  9. Android Studio 制作点九图(.9图)

    背景 安卓开发中,为了让背景图适应内容输入长度自动扩展,同时关键部分不变形,如圆角矩形的圆角或下面对话框样例的三角尖,安卓里引入了点九图(后缀名包含.9).本文介绍通过Android Studio制作 ...

最新文章

  1. 标准css属性,你一定要知道的css属性值规范
  2. 3月上旬中国域名解析服务商TOP10 DNSPOD升至8.24%
  3. php中如何上传非表单类数据,PHP Post获取不到非表单数据的问题解决办法
  4. Matlab实用程序--图形应用-三维曲线图
  5. ACL 2020 《Cross-Modality Relevance for Reasoning on Language and Vision》论文笔记
  6. 来给你20个优秀的......前端轮播图插件
  7. 第11章 进入保护模式
  8. python价值观测试程序例子_PyBrains学习迷宫的例子。国家价值观与全球政策
  9. delphi中Record 和Packed Record的区别
  10. Spring Data JPA教程,第一部分: Configuration(翻译)
  11. sublime —— 强大的插件
  12. SQL的3种连接查询
  13. 论文审稿回复LaTeX模板
  14. 小猫爪:PMSM之FOC控制04-SVPWM
  15. eda技术试卷_EDA技术试题库-试题库
  16. 南京师范大学地理科学学院 汪永进教授等在Nature杂志上发表论文
  17. python OpenCV给视频去除水印
  18. MFC控件自适应调整大小
  19. 融捷能源携手企企通,打造智能化、数字化采购平台
  20. echarts自适应大小或改变窗体大小自适应大小与浏览器最大最小化事件

热门文章

  1. 什么是共享设备,对共享设备如何分配?
  2. html大风效果,使用jquery.windy制作风吹卡片的效果 | jQuery教程
  3. 【5G之道】第十四章:异构网络部署
  4. VMware Workstation Pro新建虚拟机的操作步骤
  5. 数据挖掘(NUFE理论版)
  6. python中的newline_python open函数newline用法
  7. python中newline什么意思,\newline转义序列在python中是什么意思?
  8. Apifox实战——微信的第三方小程序提审发布
  9. Paython基础讲解(1)
  10. 计算机不显示磁盘阵列,识别不到硬盘?bios中怎么改raid为ahci硬盘模式。