Tint
这是个啥玩意?翻译过来 == 着色,安卓5.x以上就支持着色功能了,那具体有啥用了?看完这篇文章你就懂了。想了解更多Tint知识,可发挥强大的搜索引擎功能
PS:这里我们就实现一个低版上也可以用的着色控件—-TintEditText
需求:在焦点改变时改变EditText的DrawableLeft图片颜色
疑问:有人就说了,这很简单,添加监听判断是否有焦点然后设置不同状态的图片或是直接写个selector
上面的疑问确实可以很好的实现我们的需求,但这里我们只是重点说怎么在低版本上也能兼容Tint着色功能
图片的准备
图片素材准备一张纯白色的图片就行,无需准备两张不同状态的图片。
PS:就说这点,我们是不是有必要去研究了了?因为这样可以大大减少我们工程中用到的图片数量,至少不同状态的图片现在只需要一张了。
据说透明的图片也可以实现着色,我目前还没实现
TintEditText.java
//**
* 这里我们要导入v7兼容包
* 这里继承至AppCompatEditText是为了我们的Custom EditText可以拥有5.x以上主题效果
* Created by JaySeng on 2015/9/4.
*//
public class TintEditText extends AppCompatEditText implements View.OnFocusChangeListener {
private Drawable drawableLeft;
private Drawable wrappedDrawable;
private Drawable drawableTop;
private Drawable