使用图像和环绕图像的文本编辑文本视图

Posted

技术标签:

【中文标题】使用图像和环绕图像的文本编辑文本视图【英文标题】:Edit text view with image and text wrapped around image 【发布时间】:2018-08-29 14:13:46 【问题描述】:

我正在构建一个富文本编辑器。 我已经实现了像粗斜体这样的文本格式以及像 blockQuote 这样的段落格式。现在我想在编辑器中添加图像,文本应该环绕它。 我已经使用SpannableString()Spanned()StyleSpan() 实现了所有这些。

我可以使用ImageSpan() 将图像添加到一行中,但是将其添加到内联并且它就在那里代替字符 ,我想要的是在段落中插入它,其余的文本应该环绕它。我可以通过以下代码在文本开头添加图像..但我无法将其居中对齐。

 SpannableString string = new SpannableString("Text with icon and padding");
 string.setSpan(new IconMarginSpan(bitmap, 30), 0, string.length(),
 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

怎么做?有什么例子吗?或者要遵循什么程序?

【问题讨论】:

能否提供图片原型?这样我才能准确理解你的问题。 【参考方案1】:

尝试:

EditText text = (EditText)findViewById(R.id.text);
text.setCompoundDrawables(null, null, getResources().getDrawable(R.drawable.check_box), null);

【讨论】:

【参考方案2】:

根据您提供的详细信息,您可能正在使用本机 EditText,或者您正在尝试使用自定义 EditText。请提供此详细信息以获得您的查询的确切解决方案。

除此之外,要使用您提到的功能(如粗体、斜体、引号和图像等)构建富文本编辑器,您可以使用此库 RichEditor for android:https://github.com/wasabeef/richeditor-android。它提供了许多您可能感兴趣的功能。

【讨论】:

【参考方案3】:

您可以通过以下方式满足您的要求:

您可以在 imageview 中设置图像,在 Html.fromHtml("here put your text")中设置文本

gradle 文件:

compile 'com.github.deano2390:FlowTextView:2.0.5' 

您的 XML 布局:

<uk.co.deanwild.flowtextview.FlowTextView
    android:id="@+id/ftv"
    android:layout_
    android:layout_ >

        <ImageView
            android:layout_
            android:layout_
            android:layout_alignParentRight="true"
            android:layout_marginTop="400dip"
            android:padding="10dip"
            android:src="@drawable/android2"/>

</uk.co.deanwild.flowtextview.FlowTextView>

您的 java 文件:

FlowTextView flowTextView = (FlowTextView) findViewById(R.id.ftv);
             Spanned html = Html.fromHtml("here put your text");
             flowTextView.setText(html);

您也可以通过此链接https://github.com/deano2390/FlowTextView 获得帮助

希望对你有帮助..!

【讨论】:

以上是关于使用图像和环绕图像的文本编辑文本视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在可移动图像周围环绕文本?

如何使用彩色文本框在图像周围环绕文本?

如何将文本和图像添加在一起

通过编辑文本可搜索的列表视图

Bootstrap 4 文本环绕另一列/图像

在 PHP 和 Mysql 中同时更新图像和文本