编辑文本视图,图像和文本环绕图像

时间:2018-03-20 16:40:15

标签: java android android-edittext spannablestring spannable

我正在构建一个富文本编辑器。 我已经实现了像粗体斜体等文本格式以及像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);

怎么做?举个例子?或者要遵循什么程序?

3 个答案:

答案 0 :(得分:2)

您可以满足以下要求:

您可以在imageview中设置您的图片,并在 Html.fromHtml中设置您的文字(“此处放置您的文字”)

gradle 文件:

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

您的 XML 布局:

<uk.co.deanwild.flowtextview.FlowTextView
    android:id="@+id/ftv"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            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

我希望它可以帮助你......!

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

尝试:

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