zoukankan      html  css  js  c++  java
  • Android之.9图片原理解析

    定义

    用于Android开发的一种特殊的图片格式,好处在于可以定义图片中哪些区域可以拉伸,哪些区域不可以拉伸,同时可以把显示内容区域的位置标示清楚。


    下面是普通的png资源与.9.png的资源区别:
    Android设计中的.9.png

    观察可以看到,.9图片的外围有一些黑色的线条,放大的图像如下所示:
    Android设计中的.9.png

    可以比较明显的看到上下左右分别有一个像素的黑色线段,这里分别标注上序号。其中,序号1和2标识可以拉伸的区域,序号3和4标识内容区域。一旦设定按钮的宽和高之后,横向会拉伸1区域的像素,纵向会拉伸2区域的像素。如下图:
    Android设计中的.9.png

    对于内容区域的标注,我们来看下图:
    Android设计中的.9.png

    这里程序设置的文字垂直居中,水平居左的对齐方式。此时对于这种大圆角同时又有些不规则边框的的图形来说,错误的标注方式会让排版看起来很混乱,所以需要修正内容区域的线段位置和长度。
    Android设计中的.9.png
    把横向的内容区域缩短到圆角以内,纵向的内容区域控制在输入框的高度以内,这样文字就可以正常显示了。



    特殊情况

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





  • 相关阅读:
    c++ stl vector的push_back和emplace_back
    整数模n加法群和乘法群
    分享一下 jpeg的压缩算法总结
    利用位运算转换大小写
    java 作业题8
    java 作业题7
    uni-app开发经验分享二十二: uni-app大转盘思路解析
    微信小程序、微信公众号、H5之间相互跳转
    JS闭包的理解
    js原型详解
  • 原文地址:https://www.cnblogs.com/linux007/p/5783110.html
Copyright © 2011-2022 走看看