Android 使用Vector XML文件创建矢量图片资源,editText监听

 1 Android 使用Vector XML文件创建矢量图片资源
 2 blog:http://blog.csdn.net/klxh2009/article/details/51121034
 3 所需工具:
 4 1、阿里巴巴矢量图库(http://www.iconfont.cn/)
 5 2、GIMP(GNU Image Manipulation Program)
 6 其中,GIMP我提供了两种下载方式:
 7 官网:http://www.gimp.org/
 8 百度网盘:http://pan.baidu.com/s/1sl9VnRZ
 9 3、Android Studio
10 
11 首先vector 标签是一个drawable对象,所以是放在res/drawable目录的。
12 1.
13 <vector android:height="24dp" //控件的宽高,必须设定的选项
14         android:width="24dp"
15         android:tint="@color/icon_huawei_color_click_selector"//取色器icon_huawei_color_click_selector.xml的引用(color selector)
16         android:viewportWidth="96.0" //画布的宽高,必须设定的选项
17         android:viewportHeight="96.0"
18         xmlns:android="http://schemas.android.com/apk/res/android">
19     <path android:fillColor="#007DFF" android:pathData="M15,46h58.8L45.9,18.1c-1.2,-1.2 -1.2,-3.1 0,-4.2c1.2,-1.2 3.1,-1.2 4.2,0l33,33c0.1,0.1 0.3,0.3 0.4,0.5c0,0.1 0.1,0.2 0.1,0.2c0.1,0.1 0.1,0.2 0.1,0.3c0,0.1 0.1,0.2 0.1,0.3c0,0.1 0.1,0.2 0.1,0.2c0,0.2 0.1,0.4 0.1,0.6l0,0l0,0c0,0.2 0,0.4 -0.1,0.6c0,0.1 0,0.2 -0.1,0.2c0,0.1 -0.1,0.2 -0.1,0.3c0,0.1 -0.1,0.2 -0.1,0.3c0,0.1 -0.1,0.2 -0.1,0.2c-0.1,0.2 -0.2,0.3 -0.4,0.5l-33,33c-1.2,1.2 -3.1,1.2 -4.2,0c-1.2,-1.2 -1.2,-3.1 0,-4.2L73.8,52H15c-1.7,0 -3,-1.3 -3,-3C12,47.3 13.3,46 15,46z"/>
20 </vector>
21 
22 附加用法:<path android:fillColor="#00000000"
23         android:pathData="M34.88,48L13.12,25.58"
24         android:strokeColor="#CBCBCB" android:strokeLineCap="round"
25         android:strokeLineJoin="round" android:strokeWidth="4"/>
26 
27 2.取色器icon_huawei_color_click_selector.xml,三个状态的颜色(color可以替换成图片drawable):
28 <?xml version="1.0" encoding="utf-8"?>
29 <selector xmlns:android="http://schemas.android.com/apk/res/android">
30     //按钮可用(响应事件),非按下状态的颜色
31     <item android:color="@color/theme_huawei_color" android:state_enabled="true" android:state_pressed="false"/>
32     //按钮可用(响应事件),按下时的颜色
33     <item android:color="@color/theme_huawei_color_30" android:state_enabled="true" android:state_pressed="true"/>
34     //默认状态下的背景颜色,按钮不可用(不响应事件)
35     <item android:color="#FF0064CC" android:state_enabled="false"/>
36 </selector>
37 
38 3.属性介绍:
39 android:state_selected选中
40 
41 android:state_focused获得焦点
42 
43 android:state_pressed点击
44 
45 android:state_enabled设置是否响应事件,指所有事件
46 
47 
48 
49 4、Drawable-Selector
50 android:drawable 放一个drawable资源
51 android:state_pressed 是否按下,如一个按钮触摸或者点击。
52 android:state_focused 是否取得焦点,比如用户选择了一个文本框。
53 android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性
54 android:state_selected 被选中,它与focus state并不完全一样,如一个list view 被选中的时候,它里面的各个子组件可能通过方向键,被选中了。
55 android:state_checkable 组件是否能被check。如:RadioButton是可以被check的。
56 android:state_checked 被checked了,如:一个RadioButton可以被check了。
57 android:state_enabled 能够接受触摸或者点击事件
58 android:state_activated 被激活
59 android:state_window_focused 应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了
60 
61 5、通过监听editText变化,来控制button可点击和可用状态
62 mTxtTransEdit.addTextChangedListener(new TextWatcher() {
63 
64             @Override
65             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
66 
67             }
68 
69             @Override
70             public void onTextChanged(CharSequence s, int start, int before, int count) {
71                 if (s.length() == 0) {
72                     setTxtTransBtnStatus(false);
73                 } else {
74                     setTxtTransBtnStatus(true);
75                 }
76             }
77 
78             @Override
79             public void afterTextChanged(Editable s) {
80                 setNohistoryState();
81             }
82         });
83 
84 private void setTxtTransBtnStatus(boolean isEnable) {
85         mRlSend.setEnabled(isEnable);
86         mRlSend.setClickable(isEnable);
87         mtxtTransBtn.setEnabled(isEnable);
88         mtxtTransBtn.setClickable(isEnable);
89     }
90     

 

posted @ 2017-10-17 19:20  代码の足迹  阅读(1730)  评论(0编辑  收藏  举报