TextView和SpannableString实现图文混排的效果

原创 2015年11月18日 22:35:32

使用SpannableString和TextView可以实现一个图文混排的效果

实现代码:

Activity_Main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.studyTextView.MainActivity" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

</RelativeLayout>

MainActivity.java

package com.studyTextView;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ImageSpan;
import android.widget.TextView;

public class MainActivity extends Activity {
	private TextView textView1;
	private SpannableString msb;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		textView1 = (TextView) findViewById(R.id.textView);
		 msb = new SpannableString("\b玫瑰玫瑰");
		 textImage(textView1,msb);
		 
	}
	
	public void textImage(TextView mtextView,SpannableString msb){  
		Drawable drawable = getResources().getDrawable(R.drawable.daohang); //daohang为drawable下图片名
		drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
		
		msb.setSpan(new ImageSpan(drawable), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		mtextView.setText(msb);
		mtextView.setMovementMethod(LinkMovementMethod.getInstance());
	}

}

drawable.getIntrinsicWidth()和<span style="font-family: Arial, Helvetica, sans-serif;">drawable.getIntrinsicHeight()获取屏幕的大小</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px;">运行结果:</span>
</span>

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SpannableString 实现textview图文混排等 其他文字效果(下划线 删除线 字体大小混搭等)

SpannableString 属性详解 1、BackgroundColorSpan 背景色 2、ClickableSpan 文本可点击,有点击事件 3、ForegroundColorSpa...

SpannableString实现图文混排和多种炫酷样式的TextView

之前项目中有一个类似贴吧的圈子,需要实现图文混排和一些特殊样式的文本,后来发现一篇不错的文章,看了之后感觉受益良多,推荐给大家: 用SpannableString打造绚丽多彩的文本显示效果 为...

Android radiobutton 利用 SpannableString 实现图文混排 实现 iOS segmentcontrol效果

IOS上有个控件是segmentcontrol,但是android没有。。。但是android有各种第三方的segmentcontrol实现的第三方,但是现成的里面的都是文字,所以需要稍微更改一下,用...

SpannableString,ImageSpan实现图文混排

EditText通常用于显示文字,但有时候也需要在文字中夹杂一些图片,比如QQ中就可以使用表情图片,又比如需要的文字高亮显示等等,如何在android中也做到这样呢?  记得android中有个an...
  • nnmmbb
  • nnmmbb
  • 2014年07月10日 15:01
  • 5984

使用textview显示html里面的图文混排效果,并且图片可点击索引到

由于公司要求,需要将网页版的论坛网站改版成手机版的app。 服务器后台过滤掉了论坛帖子的不需要的html标签信息,只留了和\n\r标签。 使用Html.fromHtml可以解析出来图片信息,\n\...

TextView + Spanned实现图文混排以及点击交互

原文链接:http://androidwing.net/index.php/81 最近要实现图文混排的需求,webview过大,所以想到了用SpannableStringBuilder来实现。 不过...

Android TextView实现图文混排

TextView加载图文混排 不可否认有些抄的嫌疑 不够确实成功了textView.setText(Html.fromHtml(html, imgGetter, null)); Html.Image...

TextView实现图文混排

向TextView或EditText中添加图像只比直接添加文本复杂一点点,需要用到标签。          只有一个src属性,该属性原则上应该指向一个图像地址或可以找到某个图像资源的唯一标识。...

TextView实现图文混排的总结

1。通过设置drawableLeft,drawableRight,drawableTop,drawableBottom等属性控制图片的显示 这种方式是最简单的方式,但是也有一定的局限性。如: 1:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TextView和SpannableString实现图文混排的效果
举报原因:
原因补充:

(最多只允许输入30个字)