(原创)代码动态改变某些textview文本颜色及其大小的方式

(原创)代码动态改变某些textview文本颜色及其大小的方式

1.以下示例将Hello Word!中的ell改变红色并改变大小:

效果图:

package com.example.lainanzhou.textviewdemo;

import android.app.Activity;
import android.content.res.ColorStateList;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.TextAppearanceSpan;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView textView = (TextView) findViewById(R.id.tv);
        String str = textView.getText().toString().trim();//"Hello World!":下面将前面Hello中的ell变红
        ColorStateList colors = ColorStateList.valueOf(0xffff0000);//转换相应的color值,这里是红色值
        SpannableString spanBuilder = new SpannableString(str);
        /**
         * 参数:1.变化字体参数(1.字体类型;2.字体样式;3.需要变化字体大小;4.颜色值;5.颜色关联状态)
         *      2.变化起始位置(含)
         *      3.变化结束位置(不含)~例如Hello中ell是从1角标开始到4结束,不含4角标在内
         *      4.标记
         */
        spanBuilder.setSpan(new TextAppearanceSpan(null, 0, dip2px(24), colors, null),
                1, 4, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
        textView.setText(spanBuilder);
    }

    private int dip2px(float dipValue) {
        final float scale = getResources().getDisplayMetrics().density;
        return (int) (dipValue * scale + 0.5f);
    }
}

源码下载地址: 点击打开链接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值