Редактирование текстового вида с изображением и текстом, обернутым вокруг изображения

Я создаю богатый текстовый редактор. Я реализовал форматирование текста, как жирный курсив и т.д., А также форматирование абзаца, например 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

вы можете выполнить свое требование, как показано ниже:

вы можете установить свое изображение в изображении и вашем тексте в Html.fromHtml("здесь разместите свой текст")

файл градиента:

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 также

Надеюсь, это поможет вам!

Ответ 2

В соответствии с данными, данными вами, кажется, вы можете использовать собственный редактор EditText или пытаетесь использовать свой собственный EditText. Пожалуйста, предоставьте эту информацию, чтобы получить точное решение вашего запроса.

Кроме того, для создания Rich Text Editor с упомянутыми вами функциями (например, Bold, Italic, Quote и Images и т.д.) Вы можете использовать эту библиотеку RichEditor для Android: https://github.com/wasabeef/richeditor-android. Он предоставляет множество функций, которые могут вас заинтересовать.

Ответ 3

Попробуйте:

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