android课程设计多彩的霓虹,Android-自定义TextView(彩色字体与霓虹灯字体以及TextView的多项字体效果)...

本文详细介绍了如何通过自定义TextView在Android中实现彩色字体和霓虹灯字体效果,同时提供了一个类,能实现TextView的多种字体效果,包括字体颜色、大小、样式、下标、上标等。示例代码展示了如何在布局中引用这些自定义组件,以创建炫酷的文本展示效果。
摘要由CSDN通过智能技术生成

很多时候我们也需要制作一些彩色字体的文本,文本的霓虹灯效果,以及链接字体哈,字体背景色,下标之类的,而很多时候我们却用多个textview去达到这个效果,可以说是很浪费时间浪费经精力的,这时候怎么办呢?下面就有详解。

文章结构:1.自定义TextView实现彩色字体与霓虹灯字体 2.一个可以字体实现多项效果的类(封装好了,可直接使用)

先上图看看我们要做的效果

54bd2fc2d23d

这里写图片描述

一、自定义TextView之彩色字体,直接上代码解释

package com.demo.myview.colourfulFontOrNeonTextView;

import android.content.Context;

import android.graphics.Color;

import android.graphics.LinearGradient;

import android.graphics.Paint;

import android.graphics.Shader;

import android.util.AttributeSet;

import android.widget.TextView;

/**

* Created by 符柱成 on 2016/8/19.

*/

public class ColourfulFontTextview extends TextView {

int TextViewWidth; //TextView的宽度

private LinearGradient mLinearGradient; //渲染器

private Paint paint;

public ColourfulFontTextview(Context context, AttributeSet attrs) {

super(context, attrs);

}

@Override

protected void onSizeChanged(int w, int h, int oldw, int oldh) {

super.onSizeChanged(w, h, oldw, oldh);

//在 onSizeChanged 方法中获取到宽度,并对各个类进行初始化

if (TextViewWidth == 0) {

TextViewWidth = getMeasuredWidth();

if (TextViewWidth > 0) {

//得到 父类 TextView 中写字的那支笔

paint = getPaint();

//初始化线性渲染器

mLinearGradient = new LinearGradient(0, 0, TextViewWidth, 0,

new int[]{Color.BLUE, Color.YELLOW, Color.RED, Color.GREEN, Color.GRAY}, null, Shader.TileMode.CLAMP);

//把渲染器给笔套上

paint.setShader(mLinearGradient);

}

}

}

}

2.在xml中的引用:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@color/white"

android:orientation="vertical"

tools:context=".colourfulFontOrNeonTextView.ColourfulFontOrNeonAcitivity">

android:layo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值