1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > android 文字图片混排 在一个TextView中显示文字穿插图片 文字变色效果

android 文字图片混排 在一个TextView中显示文字穿插图片 文字变色效果

时间:2021-03-27 04:20:27

相关推荐

android 文字图片混排 在一个TextView中显示文字穿插图片 文字变色效果

最近做一个需求,需要文字中间显示图片,图文穿插和文字变色的效果。想了半天,终于找到了解决的办法,先贴效果图!

下面是主要代码,实现1的功能:

package com.example.app.androidimageandtext;

import android.app.Activity;

import android.graphics.drawable.Drawable;

import android.os.Bundle;

import android.text.Html;

import android.text.Spannable;

import android.text.SpannableString;

import android.text.Spanned;

import android.text.style.ImageSpan;

import android.widget.TextView;

public class MainActivity extends Activity {

private TextView mShowTv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

}

private void initView (){

mShowTv =(TextView) findViewById(R.id.showTv);

setImage(R.mipmap.icon_account_exchage);

}

//显示图片

private void setImage(int dra) {

Drawable drawable = getResources().getDrawable(dra);

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

SpannableString spannableString = new SpannableString("pics");ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);spannableString.setSpan(imageSpan, 0, spannableString.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);mShowTv.append(colourTxtCashBalance("100.00"));mShowTv.append(spannableString);//将图片转为文字显示,这个是重点mShowTv.append(colourTxtNoncashBalance("110.00"));}//文字变色的部分private Spanned colourTxtCashBalance(String money) {return Html.fromHtml("<font color='#1E1E1E'>现在将变色</font><font color='#FF6138'>¥" + money+ "</font><font color='#1E1E1E'>元啦!</font>");}private Spanned colourTxtNoncashBalance(String money) {return Html.fromHtml("<font color='#1E1E1E'>再次变色</font><font color='#FF5678'>¥" + money+ "</font><font color='#1E1E1E'>元,瞬间升值10%!厉害吧。</font>");}

}

布局文件:就不贴了

源码已经很详细咯,需要工程的朋友可以去资源文件处下载

/detail/qq_15795335/9547719

原创博客,转载说明。记录自己成长的步伐!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。