Android实现EditText文本颜色渐变
来源:互联网 发布:c语言程序编程教学 编辑:程序博客网 时间:2024/05/20 18:17
Android实现EditText文本颜色渐变
先上效果图
刚开始想着先是设置textColor属性就可以了,然后写了个一个带渐变的shap感觉不好使,于是乎就自定义解决,代码如下
import android.content.Context;import android.graphics.Canvas;import android.graphics.LinearGradient;import android.graphics.Paint;import android.graphics.Rect;import android.graphics.Shader;import android.util.AttributeSet;import android.widget.EditText;public class MyEditText extends EditText { public MyEditText(Context context) { this(context, null); } public MyEditText(Context context, AttributeSet attrs) { this(context, attrs, 0); } public MyEditText(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } private Paint mPaint; private int mViewHeight = 0; private Rect mTextBound = new Rect(); private LinearGradient mLinearGradient; @Override protected void onDraw(Canvas canvas) { mViewHeight = getMeasuredHeight(); mPaint = getPaint(); String mText = getText().toString(); mPaint.getTextBounds(mText, 0, mText.length(), mTextBound); mLinearGradient = new LinearGradient(0, 0, 0, mViewHeight, new int[]{0xFF8EDA4D, 0xFF4EB855}, null, Shader.TileMode.REPEAT); mPaint.setShader(mLinearGradient); canvas.drawText(mText, getMeasuredWidth() / 2 - mTextBound.width() / 2, getMeasuredHeight() / 2 + mTextBound.height() / 2, mPaint); }}
我这里实现的是上下的渐变色,当然每个人的需求都不一样,有的要实现左右渐变色,只要在这句中设置其属性即可mLinearGradient = new LinearGradient(0, 0, 0, mViewHeight,
new int[]{0xFF8EDA4D, 0xFF4EB855}, null, Shader.TileMode.REPEAT)
0 0
- Android实现EditText文本颜色渐变
- Android 监听ScrollView滑动 实现布局背景、文本颜色渐变
- android实现颜色渐变
- Android 状态栏颜色渐变实现
- Android TextView和EditText设置文本颜色
- Android Textview实现文字颜色渐变效果
- Android-- EditText与InputFilter实现文本对比
- Android-- EditText与InputFilter实现文本对比
- Android--EditText实现对文本变化…
- Android 实现EditText文本的字数限制
- 实现 颜色渐变
- 背景实现颜色渐变
- CAGradientLayer_实现颜色渐变
- CAGradientLayer实现颜色渐变
- 实现颜色渐变
- iOS实现颜色渐变
- iOS 实现颜色渐变
- android 设置颜色渐变
- Object.keys方法之详解
- 使用BootStrap中的栅格系统后,页面调整变形的解决方法
- JQuery中常用选择器和方法的总结
- 修改ubuntu系统的时间
- 《java数据结构》--链表
- Android实现EditText文本颜色渐变
- 成员变量和局部变量的区别
- OC是动态语言体现在什么方面
- 打气球dfs
- android中如何设计触摸屏驱动touch screen driver
- [LeetCode]9. Palindrome Number
- LINUX操作系统VIM的安装和配置
- Android Launcher详解
- Lombok入门