TextView 图文混排解决方案

网上也没啥合适的,就看到这个还不错。

Android有时候会有需求是文字周围有图片,或者文字其中一部分改样式。

1,如果只是改变颜色,字体的简单需求,直接用Android自带的就可以改。SpannableString

SpannableString 可以添加图片,添加下划线等操作。还是不错的

2,如果是图片环绕可以用网上简单的图文混排的控件,都可以实现。只是算了高度而已

3,如果是环绕一个复杂的布局,则建议用 MixtureTextView 这个是GitHub上面的一个控件。但是写的不完全,部分textview的功能没有,但是满足了各种复杂需求。我在这个view的基础上加了一些方法,使用起来更方便,需要的私信我。哈哈哈毕竟是用到了公司的,不方便直接贴出来。

4,这个比较推荐,用html的(string,imageloder,null)的方法来图文混排。网上有很多类似的,第一个参数是内容,第二个参数是加载器。第三个参数是Spanna的样式。我这里推荐一个我自己的,网上的很多,但是不一定适合你的项目。

  textview.setText(Html.fromHtml(string, new Html.ImageGetter() {
                @Override
                public Drawable getDrawable(String source) {
                    Drawable draw = null;
                    InputStream open = null;
                    try {
                        open = KaoyanBase.this.getAssets().open(source);
                        draw = Drawable.createFromStream(open, null);
                        draw.setBounds(0, 0, draw.getIntrinsicWidth(),draw.getIntrinsicHeight() );
                    } catch (Exception e) {
                        e.printStackTrace();
                    } finally {
                        try {
                            if (open != null) {
                                open.close();
                            }
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                    return draw;

                }
            }, null));

这就是很简单的实现,你可以吧Html.ImageGetter提出来,自己写一个类。然后实现网络加载。也可以添加点击效果。都是简简单单啦。不懂得直接问我

猜你喜欢

转载自blog.csdn.net/whs867712232/article/details/82901121