1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java 图文混排_图文混排的几种实现方案

java 图文混排_图文混排的几种实现方案

时间:2020-01-26 17:33:06

相关推荐

java 图文混排_图文混排的几种实现方案

1、自定义控件

/hongyangAndroid/MixtureTextView

原理:MixtureTextView extends RelativeLayout,将图片(包括gif)放在MixtureTextView中,根据属性,例如alignParentRight等,在onLayout里获取属性值,在dispatchDraw里根据图片所占的位置绘制文字,以此实现图文混排

不足:图片位置需要相对文字固定

2、使用html的img标签实现

/**

* 拼接图片

*

* @return

*/

private String descString(String s) {

return s + "";

}

tv_title.setText(Html.fromHtml(descString(bean.title), getImageGetterInstance(), null));

/**

* ImageGetter用于text图文混排

*

* @return

*/

public Html.ImageGetter getImageGetterInstance() {

Html.ImageGetter imgGetter = new Html.ImageGetter() {

@Override

public Drawable getDrawable(String source) {

int fontH = (int) (getResources().getDimension(R.dimen.fontH));

int id = Integer.parseInt(source);

Drawable d = getResources().getDrawable(id);

int width = (int) ((float) d.getIntrinsicWidth() / (float) d.getIntrinsicHeight()) * fontH;

d.setBounds(0, 0, width, fontH);

return d;

}

};

return imgGetter;

}

优点:简单,易使用

不足:图片位置适配不好处理(通过html标签应该可以解决)

3、使用字体包ttf

原理:将图案做在ttf里

string.xml,由设计给具体code

 

 

textView直接引用

Typeface font = Typeface.createFromAsset(getAssets(),

"fontawesome-webfont.ttf");

tab1.setTypeface(font);

空格需要使用转义字符

public static String blankSpace = "&nbsp&nbsp";

public static String blankSpace2 = "&emsp&emsp";

优点:十分简单

不足:图片颜色只能设置单一色

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