Android使用HtmlTextView控件实现新闻详情图文混排

在实现新闻详情的时候,安卓也有类似富文本的控件,但是使用webview或者textview等方法,每种方法各有优劣,不是很完美。今天给大家介绍一个安卓控件——HtmlTextView,实现详情页图文混排的显示。
1.在gradle引入控件

dependencies {
    compile 'org.sufficientlysecure:html-textview:4.0'
}



2.在布局页面使用上面的控件

<org.sufficientlysecure.htmltextview.HtmlTextView
            android:id="@+id/html_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textAppearance="@android:style/TextAppearance.Small" />



3.在activity使用相关方法,此处是其他页面网络获取解析传递过来的html内容,HtmlHttpImageGetter方法不需要手动编写(较textview实现的时候不再需要重写、继承ImageGetter方法,可查看上篇博客)

public class ContentActivity extends BaseActivity {
    private String htmlContents = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_content);
        HtmlTextView htmlTextView = findViewById(R.id.html_text);
        final Intent intent = getIntent();
        Bundle bundle = intent.getExtras();
        htmlContents = bundle.getCharSequence("contents").toString();
        htmlTextView.setHtml(htmlContents, new HtmlHttpImageGetter(htmlTextView));

    }
}


4.让我们看一下最终实现的效果

 

 

有相关疑问可以留言,感谢点赞转发

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Android Studio中的图文混排可以通过使用TextView和SpannableString来实现。SpannableString是一个可以设置不同样式的字符串类,可以用来设置文字的颜色、大小、字体等属性。 以下是一个简单的例子,展示如何在TextView实现图文混排: 1. 在布局文件中添加一个TextView: ``` <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> ``` 2. 在Java代码中获取TextView并设置SpannableString: ``` TextView textView = findViewById(R.id.textView); // 创建一个SpannableString对象 SpannableString spannableString = new SpannableString("这是一段文字和图片混排的例子"); // 创建一个ImageSpan对象,用来设置图片 Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); ImageSpan imageSpan = new ImageSpan(drawable); // 将图片插入到SpannableString中 spannableString.setSpan(imageSpan, 6, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 设置TextView的文本 textView.setText(spannableString); ``` 在上面的代码中,我们首先创建了一个SpannableString对象,然后创建了一个ImageSpan对象,用来设置图片。接着,我们将图片插入到SpannableString中,并设置了图片的位置。最后,我们将SpannableString设置为TextView的文本。 这样,就可以在TextView实现图文混排了。当然,这只是一个简单的例子,实际上可以通过SpannableString来实现更复杂的图文混排效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿大波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值