android-修改TextView中部分文字的颜色

5 篇文章 0 订阅

这里写图片描述
今天遇到个问题,题目栏由3部分组成,都是获取的
问题来了,当中间题目过长时,竟然不自动换行,字显示不完,当然是不行的

在网上找了半天

<TableLayout   
               android:layout_width="fill_parent"  
               android:layout_height="wrap_content"   
               android:stretchColumns="1"   
               android:shrinkColumns="1">  

                <TextView android:id="@+id/textView1_serial_write"  
                    android:layout_width="fill_parent"  
                    android:layout_height="fill_parent"  
                    android:gravity="left"  
                    android:textColor="@android:color/black"  
                    android:textSize="25sp"   
                    />  
            </TableLayout>  

显示出来结果,我一看,变成3行了,一个textview一行,舍弃

之后,转换思路,看是否能设置前半部分的字体颜色

这里写图片描述

textView = (TextView) findViewById(R.id.textview);  
SpannableStringBuilder builder = new SpannableStringBuilder(textView.getText().toString());  

//ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色  
ForegroundColorSpan redSpan = new ForegroundColorSpan(Color.RED);  
ForegroundColorSpan whiteSpan = new ForegroundColorSpan(Color.WHITE);  
ForegroundColorSpan blueSpan = new ForegroundColorSpan(Color.BLUE);  
ForegroundColorSpan greenSpan = new ForegroundColorSpan(Color.GREEN);  
ForegroundColorSpan yellowSpan = new ForegroundColorSpan(Color.YELLOW);  



builder.setSpan(redSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
builder.setSpan(whiteSpan, 1, 2, Spannable.SPAN_INCLUSIVE_INCLUSIVE);  
builder.setSpan(blueSpan, 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
builder.setSpan(greenSpan, 3, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
builder.setSpan(yellowSpan, 4,5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  

textView.setText(builder);  

但是…
这里写图片描述

虽然参数是(int color),我传本地的颜色 color.textblue和图片颜色R.drawable.bg_blue都不管用 最后发现Color.parseColor()管用

ForegroundColorSpan whiteSpan = new ForegroundColorSpan(Color.parseColor("#0495E0"));  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值