传统UI开发中,如果背景的大小不一样,一般需要为每种大小都制作一张图片,这在button中尤为明显。当然我们也可以一小块一小块水平重复的画,也可以垂直的话。在android中专门有一种叫nine patch图片(以 9.png结尾)来解决背景大小不一样时,只用一张背景图片。

用自带的tools/draw9patch.bat 打开一张png图片,我们可以在png图片最外面的空格画一个像素宽的黑线。左边是编辑区,在左边的图中,左边黑线的高度决定了垂直拉升时的扩展区域,也即当垂直拉伸时,只有这个区域的图片会被拉伸。同理图片上边的黑线长度决定了水平拉升时的扩展区域。右边区域是拉升的效果图,从上之下分别为垂直拉伸,水平拉伸,以及两个方向的拉升。该工具提供了所见即所得的nine patch png编辑方式 。

把编辑后的png保存为 9.png到工程目录的res/drawable目录下,如果你的9.png中没有黑线,那么eclipse是会报错的。

效果图如下。从中我们也可以理解为什么叫 nine patch,相当于把一张png图分成了9个部分,分别为4个角,4条边,以及一个中间区域,4个角是不做拉升的,所以还能一直保持圆角的状态,而2条水平边和垂直边分别只做水平和垂直拉伸,所以不会出现边会被拉粗的情况,只有中间用黑线指定的区域做拉伸。结果是图片不会走样

更多相关文章

  1. android 制作9.png图片
  2. Android(安卓)Studio中使用.9(Nine Patch)图片
  3. Android中的Nine-patch图片
  4. android 蒙版实现
  5. Android(安卓)studio中.9图片的含义及制作教程
  6. Android(安卓)点9图片 Can't have more than one marked region
  7. android:3D垂直翻转动画-FlipAnimation
  8. android自定义View-垂直滚动的TextView
  9. Android(安卓)VideoVIew 视频全屏拉伸

随机推荐

  1. Android属性动画与自定义属性动画
  2. 解决:android NDK的AMediaCodec配置surfac
  3. Android(安卓)sqlite中text格式文本的比
  4. (4.2.4)【android开源组件】Android(安卓)
  5. Mac系统下利用ADB命令连接android手机并
  6. android:activity销毁后,fragment使用控件,
  7. Android(安卓)Application对象必须掌握的
  8. Android(安卓)Studio & Typora 快捷键
  9. Android(安卓)3.0 r1 API中文文档(113)
  10. Java乔晓松-android中获取手机视频的缩略