原文地址: http://www.miued.com/2074/
本文主要介绍如何制作 切图.9.png(点9图),另一篇姊妹篇文章 Android屏幕适配全攻略(最权威的官方适配指导)的  [使用自动拉伸位图]一节中有关于 9.png 的padding设置问题。

在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”。这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚。
本文结合一些具体的例子来看下.9.png的具体用法。

首先看下普通的.png资源与.9.png的资源区别:

普通的png资源就不多介绍了,可以明显看到.9.png的外围是有一些黑色的线条的,那这些线条是用来做什么的呢?我们来看下放大的图像:

放大后可以比较明显的看到上下左右分别有一个像素的黑色线段,这里分别标注了序号。简单来说,序号1和2标识了可以拉伸的区域,序号3和4标识了内容区域。当设定了按钮实际应用的宽和高之后,横向会拉伸1区域的像素,纵向会拉伸2区域的像素。如下图:

拉伸的含义应该比较容易理解,但是内容区域的标注有什么意义呢?我们来看下图:

这里程序设置的文字垂直居中,水平居左的对齐方式。对齐方式是没有问题的,但是对于这种大圆角同时又有些不规则边框的的图形来说,错误的标注方式会让排版看起来很混乱。所以我们需要修正内容区域的线段位置和长度。

把横向的内容区域缩短到圆角以内,纵向的内容区域控制在输入框的高度以内,这样文字就可以正常显示了。

这里还有一种特殊情况,就是本身是.9.png的资源,但是在修改过程中你希望这张.9.png不能被拉伸(在做皮肤的情况中有可能会遇到),那怎么办呢?只要把拉伸区域的点点在透明像素的地方就可以了,这样拉伸的时候会拉伸透明部分的像素,而不会拉伸图像本身。如下图:

大家可以看到拉伸区域的黑点是可以不连续的。

说了半天.9.png的用法,那.9.png如何输出呢?有很多种方式可以输出.9.png,比如说用draw9patch.bat这个工具,或者简单一点,用photoshop直接输出。输出的方式是先输出普通的png资源,然后扩大画布大小,上下左右各空出一个像素,再用一个像素的铅笔工具(颜色选择纯黑色),上下左右分别画点就可以了,保存的时候注意把后缀修改为.9.png。
有两点需要特别注意下:
1.最外围的一圈像素必须要么是纯黑色,要么是透明,一点点的半透明的像素都不可以有,比如说99%的黑色或者是1%的投影都不可以有;
2.文件的后缀名必须是.9.png,不能是.png或者是.9.png.png,这样的命名都会导致编译失败。

Android设计中如何切图.9.png(点9图)相关推荐

  1. 点9图 Android设计中如何切图.9.png(点9图)

    转载自:http://blog.csdn.net/buaaroid/article/details/51499516 本文主要介绍如何制作 切图.9.png(点9图),另一篇姊妹篇文章 Android ...

  2. 【转】Android设计中的.9.png

    来源:http://isux.tencent.com/android-ui-9-png.html Android设计中的.9.png 注意:当使用9.png做TextView背景时,一定要设置内容区域 ...

  3. 教我网页设计中的“切图”

    "切图"是网页设计中的一个重要概念,它指的是将网页设计中的图片和其他图像分割成合适的尺寸和形状,以便在网页中使用. 切图的过程通常包括使用图像编辑软件(如 Adobe Photos ...

  4. 【转载】Android设计中的.9.png

    转载自:腾讯ISUX (http://isux.tencent.com/android-ui-9-png.html) 在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩, ...

  5. ui设计为什么要切图,切图是什么意思?

    切图严格来说并不是Ui设计师的工作,而是前端工程师的工作,指的是将设计师的设计转化为网页,是一种将设计师的"理想"转化为"现实"的工作,将psd进行切片重组,利 ...

  6. Android Studio中使用样式文件

    Android Studio的样式(style)文件包含了样式资源,样式资源定义了单个视图(View)或者整个活动(Activity)的界面格式和外观. 1 添加样式文件 在Android Studi ...

  7. 9图工具 android,在线自动生成.9png图的Android设计切图工具推荐

    当我们完成了一套iOS的切图的时候,当android开发人员让你切几个版本的dpi切图时,你是不是一下子崩溃了! 我想大家都会崩溃,切一套APP设计稿 已经够麻烦了. 因为在Android的设计过程中 ...

  8. delphi控件切图界面闪烁_APP界面设计中切图那些事儿

    APP切图基本知识点以及注意事项 1.考虑适配Android 各种复杂的分辨率,如主流的1280X720.800X480.640X480.480X320.以及各种非主流分辨率.2..9神器  png3 ...

  9. android与ios ui切图关系,APP-IOS与Android界面设计与切图

    做一全套的APP设计,流程是: 1.界面设计:设计IOS界面:设计Android界面. 2.切图:切IOS的2倍图和3倍图:切Android的hdpi,xhdpi,xxhdpi这三个尺寸的图. 3.标 ...

最新文章

  1. ipykernel_launcher.py: error: unrecognized arguments: -f /Users/apple/Library/Jupyter/runtime/kernel
  2. ClickHouse | MergeTree引擎之数据分区
  3. python查看dataframe数据类型_python pandas中DataFrame类型数据操作函数的方法
  4. unity 使用tile_如何使用Tile从网上查找电话
  5. 【Java】字符串转换为数字:Integer的parseInt方法
  6. STM32F412应用开发笔记之二:基本GPIO控制
  7. Rational Rose学习笔记02:创建用例图
  8. 读完这个我懂了JNDI
  9. css用边框实现圆角矩形
  10. 为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
  11. android多线程实现计时器,方法一、使用Handler和Thread(线程)实现定时器
  12. 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证....
  13. Navicat15注册时报错 rsa public key not find
  14. echar 数据显示在小圆点里
  15. 基于梯度下降算法求解线性回归
  16. gee引擎修改UI界面图文教程
  17. 如何使用Everything搜索局域网共享文件夹?
  18. 育碧开发了一个 AI 工具,能快速找出代码中的 Bug
  19. oracle数据表空间与数据文件,oracle的表空间及数据文件
  20. 【IoU loss】IoU损失函数理解

热门文章

  1. linux 安装jeakens_Linux安装mysql过程(转+完善)
  2. C#设计模式——策略模式
  3. 浏览器主页被hao.123篡改,用360系统急救箱可以恢复
  4. 视频教程-图形图像-Adobe PhotoshopCS6超速入门,一节课学会PS [实用技能]-其他
  5. 深富策略:股市崩盘的原因是什么
  6. tween.js一个平滑动效果的js动画库
  7. jsp 格式化输出日期,数字
  8. html 应用程序主机 自动关闭,服务器会话连接自动关闭怎么办?Web服务器 -电脑资料...
  9. C语言编译c158,PANTONE潘通色卡C卡_图文.doc
  10. springboot+junit5+surefire测试报告