自定义控件 渐变色的TextView
来源:互联网 发布:js 百度地图样式修改 编辑:程序博客网 时间:2024/05/22 18:37
0:
项目中遇到一个非常喜欢渐变色的UI,没办法只能上网查查,都不是很符合,看到一个是hongyang大神的,很炫,但是我想要不动的那种,所以结合自己查的资料写个不动的渐变色TextView
1:
直接上代码
public MyTextView(Context context) { super(context); } public MyTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); getAttrs(context, attrs); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); getAttrs(context, attrs); } private void getAttrs(Context context, AttributeSet attrs){ TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.mtv); startcolor = ta.getColor(R.styleable.mtv_start_color, 0x00000000); endcolor = ta.getColor(R.styleable.mtv_end_color, 0x00000000); ta.recycle(); } @Override protected void onDraw(Canvas canvas) { mViewWidth = getMeasuredWidth(); mPaint = getPaint(); String mTipText = getText().toString(); colors = new int[]{startcolor, endcolor}; mPaint.getTextBounds(mTipText, 0, mTipText.length(), mTextBound); mLinearGradient = new LinearGradient(0, 0, mViewWidth, 0, colors, null, Shader.TileMode.REPEAT); mPaint.setShader(mLinearGradient); canvas.drawText(mTipText, getMeasuredWidth() / 2 - mTextBound.width() / 2, getMeasuredHeight() / 2 + mTextBound.height()/2, mPaint); }
重写了onDraw方法,主要是LinearGradient这个参数,colors是一个数组,里边放16进制的颜色值,这个值从构造方法中获得,通过getAttrs方法
values目录下 写一个attrs.xml
<resources> <declare-styleable name="mtv"> <attr name="start_color" format="color"/> <attr name="end_color" format="color"/> </declare-styleable></resources>
然后再在布局文件中直接调用就好了
<com.konglsd.it.ggapp.Custom.MyTextView android:clickable="true" android:id="@+id/man" mtv:start_color="#0A59C4" mtv:end_color="#3C92FF" android:textSize="16sp" android:gravity="center" android:text="男" android:layout_width="match_parent" android:layout_height="@dimen/y53" />
本来想写的详细点的,因为韦昕同学的原因懒得写了,就这样吧
阅读全文
1 0
- 自定义控件 渐变色的TextView
- 自定义颜色渐变的TextView
- 安卓自定义的渐变TextView
- Android进阶——自定义View之扩展系统控件的另一种思路实现渐变文字动画的TextView
- 自定义文本横向渐变消失的控件
- 颜色渐变的Textview
- 自定义TextView实现渐变色边框,渐变色文字并绘制drawable
- anroid:自定义可旋转的TextView控件
- 带图片的textView自定义控件
- 自定义控件,可以伸缩的textview
- Android自定义控件 -- 带边框的TextView
- 自定义控件:滚动的TextView跑马灯
- 自定义控件 可缩放的TextView
- 自定义控件,一个常用的超级TextView
- 两个简单的自定义控件—下划线TextView,切割textView
- [自定义控件学习]Textview
- 自定义TextView控件
- 自定义旋转TextView控件
- 数据预处理
- PyQt写的简单图像标注工具
- python爬虫学习第二十二天
- HDUOJ 1421 搬寝室
- spring实战-参数传递,表单处理及表单校验
- 自定义控件 渐变色的TextView
- 手把手教你把Vim改装成一个IDE编程环境(图文) -- 续1
- HDU 4609 3-idiots (FFT)
- 采用行为树快速开发游戏AI
- CodeForces 305A Strange Addition(思维题)
- 完全卸载oracle11g步骤
- Linux中高效编写Bash脚本的10个技巧
- TrickGCD
- 计算SD卡的总空间和可用大小