现在的位置: 首页 > 综合 > 正文

背景选择器Selector和.9.png的使用

2018年06月09日 ⁄ 综合 ⁄ 共 2332字 ⁄ 字号 评论关闭

一、背景选择器Selector

为了让控件更生动,android提供背景选择器这个利器。

使用方法:

1、android的selector要在 drawable 目录下配置,文件格式为XML,事例文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<selector  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:drawable="@drawable/btn_style_one_disabled" />        //控件无效时显示的图片
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btn_style_one_pressed" />  //控件获取焦点,并被点击时显示的图片
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btn_style_one_pressed" />  //失去焦点,被点击时显示的图片
    <item android:state_focused="true" android:drawable="@drawable/btn_style_one_focused" /> //获取焦点时的图片
    <item android:state_focused="false" android:drawable="@drawable/btn_style_one_normal" /> //没有获取焦点正常情况下显示的图片
</selector>

2、布局文件中,设置控件的背景,如:

<Button
     android:id="@+id/main_login_btn"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:background="@drawable/btn_style_green"    //设置控件的背景,则该控件具有动态风格
   />

二、.9.png图片介绍

1、什么是9.png:
       可能做过任务栏美化的同学都会知道,我靠,framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。
千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会
看不见摸不着(详情见下面具体内容)。
       9.png格式的图片是安卓平台上新创的一种被拉伸却不失真的玩意(挺高级的吧),也许有
的同学在做美化的时候很喜欢一个图片素材,重命名替换了drawable-hdpi下的素材,但是运行系统后发现,怎么被拉伸得不像样子
了,哈哈,这就是9.png图片不能轻易碰的神奇所在,不过不要紧,下面看完你就会了,安卓美化大师就是你了。
      首先我们还是得介绍一下,9.png图片他的具体不同之处,它的四周与普通的png图片相比多了一个像素位的白色区域,该区域
只有在图片被还原和制造的时候才能看到,当打包后无法看见,并且图片的总像素会缩小2个像素,比如23x23像素的9.png图片被
打包后会变成21x21像素。所以我们在制作的时候要注意掌握尺寸。
       当我们制作出9.png图片的时候你还有惊奇的发现一个几KB或者几十KB的图片,变得非常的小,一般只有几百个字节那么大,
系统加载起来当然会更加的流畅咯。

重要声明,该制作工具均需要搭建java运行环境,就是下载jdk安装,并在计算机属性中搭建环境变量,具体操作本帖就不讲了,
网上找一下如何搭建环境变量就有了。

2、如何制作9.png图片素材:

       1、下载工具:  draw9patch.zip 该工具SDK中自带。
       2、解压,执行draw9patch.bat,会出现如图:

       3、将你用PS制作的图片素材,拖到该窗口中,出现如图:

            解释:中间黑红条纹部分表示不能编辑,边缘白色透明框就是上述介绍的增加的一像素边框。
       4、将鼠标放在白色边框,点住左键不放拖动,会出现黑色线条如图:
             

             解释:1号黑色条位置向下覆盖的区域表示图片横向拉伸时,只拉伸该区域
                        2号黑色条位置向右覆盖的区域表示图片纵向拉伸时,只拉伸该区域  
                        3号黑色条位置向左覆盖的区域表示图片纵向显示内容的区域
                        4号黑色条位置向上覆盖的区域表示图片横向显示内容的区域
                        没有黑色条的位置覆盖的区域是图片拉伸时保持不变(比如,如果图片的四角为弧形的时候,当图片被任意拉伸时,四角的弧形都不会发生改变)
         5、如果失误多选了部分,可按住shift键,点击鼠标左键去掉黑色条
         6、右边3个黑色图形区域为显示当前拉伸效果
         7、选择好区域后,点击左上file-》save 9-path,保存图片,后缀名为xxx.9.png,此时图片效果为:

 

抱歉!评论已关闭.