Подтвердить что ты не робот

Android Добавить изображение в текст (в текстовом режиме)?

первый пост здесь =) Я искал этот ответ и не смог его найти. То, что я хочу сделать, - это добавить текст, затем добавить изображение, затем оставить текст. Например:

                             ____
                            |   |
Hi there, this is the photo |___|, hope you like it..

Я смотрю, но все, что я могу найти, это добавить текст в изображение или добавить изображение в изображение. Просмотр и я не думаю, что я хочу, потому что приложение в основном содержит текст, но с изображениями на нем.

Итак, мой вопрос: как добавить изображение в текст?

спасибо


UPDATE: Я использовал совет R.daneel.olivaw дал мне, и это сработало хорошо =)

Но у меня есть проблема. скажем, у меня есть: "a b c", где я устанавливаю положение b как spanable. Но если я попытаюсь удалить текст, и я удалю b, то в следующий раз, когда я напишу что-то, это станет образом, которое я использовал в spanable. Как это исправить? Кто-нибудь получил совет? спасибо =)

4b9b3361

Ответ 1

Я думаю, что вы ищете интерфейс Spannable, используя это, вы можете добавлять изображения в текстовое представление.

Эта ссылка может помочь.

enter image description here

Ответ 2

ваш лучший вариант - создать свой собственный вид и переопределить метод onDraw() с помощью canvas.drawText() для текста и canvas.drawBitmap() для изображений.

Смотрите документ Canvas: http://developer.android.com/reference/android/graphics/Canvas.html

Вот пример, который рисует некоторый текст в центре экрана:

public class OverlayView extends View {

public OverlayView(final Context context) {
    super(context);
}

/**
 * Draw camera target.
 */
@Override
protected void onDraw(final Canvas canvas) {

    // view size
    int width = getWidth();
    int height = getHeight();

    float square_side = height - width * 0.8f; // size of the target square

    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setStyle(Paint.Style.FILL);

    // text size is 5% of the screen height
    paint.setTextSize(height * 0.05f);

    // draw message depending of its width
    String message = getResources().getString(R.string.photo_target_text);

    float message_width = paint.measureText(message);

    paint.setColor(getResources().getColor(R.color.color_foreground));
    canvas.drawText(message, (width - message_width) / 2,
            (height - square_side) / 4, paint);

    super.onDraw(canvas);
}

}

Ответ 3

как я знаю, нет способа сделать это.

но когда вы используете webview и сгенерированный html, вы можете сделать simillar один.

сгенерируйте html из вашего содержимого и загрузите его в веб-просмотр, установите настройки веб-просмотра без контроля масштабирования.

Ответ 4

Это можно сделать с помощью getter: Html.ImageGetter

Вам нужно будет использовать HTML-теги для каждого изображения.

Ответ 5

< string name="text" > "Hi there, this is the photo [img src=img.jpge/] , hope you like it. < / string>

Добавьте это в свою строку и он будет работать