• 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     
  • 相关阅读:
    git branch查看不到分支的名字解决办法
    input输入框如何只能输入非零开头的正整数
    如何修改git分支名名称
    JavaScript如何把字符串中每个单词首字母转化为大写
    JavaScript原型链的理解
    JavaScript高级程序设计第三版学习笔记(一)之数据类型区分详谈
    Vue中父子组件执行的先后顺序探讨
    我是不是该回来写点东西
    转载:引用 struts2标签详解
    mysql的重装问题......我自己的心得
  • 原文地址:https://www.cnblogs.com/sanbianxia/p/7683434.html
Copyright © 2020-2023  润新知