在使用TextView的时候,我们经常需要在TextView中进行图文混排,比如在QQ中聊天的消息中的表情,底部tab图标等。
一、场景
二、实现方式
Android官方对TextView的图文混排提供了支持,我们可以从以下三种方式实现TextView的图文混排:
1.在TextView中使用Compound Drawable属性;
2.在TextView中使用Spannable多样式显示;
3.在TextView中显示HTML文本。
三、drawable属性
在TextView中使用Compound Drawable属性可以在文字的上下左右放置drawable,效果如下:
一共有两种方式可以实现:XML布局设置和Java代码设置。
1. xml布局
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查看新的内容"
android:textSize="18sp"
android:drawablePadding="10dp"
android:drawableLeft="@drawable/arrow"/>
android:drawableLeft
在文字左边设置图片
android:drawableTop
在文字上边设置图片
android:drawableRight
在文字右边设置图片
android:drawableBottom
在文字下边设置图片
android:drawableStart
API 17后生效,LTR时在左边,RTL时在右边
android:drawableEnd
API 17后生效,LTR时在右边,RTL时在左边
android:drawablePadding
图片和文字的间距
2. java代码
textView = (TextView) findViewById(R.id.textView);
Drawable drawable = getResources().getDrawable(R.drawable.see);
drawable.setBounds(0,0