webentwicklung-frage-antwort-db.com.de

Android Bild zu Text hinzufügen (in Textansicht)?

erster Beitrag hier =) Ich habe nach dieser Antwort gesucht und konnte sie nicht finden. Was ich tun möchte, ist, etwas Text zu haben, dann ein Bild hinzuzufügen und dann den Rest des Textes. Zum Beispiel:

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

Ich habe nachgeschaut, aber alles, was ich finden kann, ist, Text zu Bild oder Bild zu Bildansicht hinzuzufügen, und ich glaube nicht, dass ich das möchte, weil die App hauptsächlich aus Text besteht, aber mit Bildern darauf.

Meine Frage lautet also: Wie füge ich einem Text ein Bild hinzu?

vielen Dank


UPDATE: Ich habe den Rat verwendet, den R.daneel.olivaw mir gegeben hat und er hat funktioniert. Nice =)

Aber ich habe ein Problem. Nehmen wir an, ich habe: "a b c", wobei ich die Position von b als spanable setze. Aber wenn ich versuche, den Text zu löschen und b, wird das nächste Mal, wenn ich etwas schreibe, das Bild, das ich in spanable verwendet habe. Wie korrigiere ich das? Hat jemand einen Rat? danke =)

18
user1162299

Ich denke, Sie suchen nach der Spannable-Oberfläche. Mit dieser können Sie Bilder zu einer Textansicht hinzufügen.

Dieser Link könnte helfen.

enter image description here

25
R.daneel.olivaw

die beste Option ist, eine eigene Ansicht zu erstellen und die onDraw () - Methode mit canvas.drawText () für Text und canvas.drawBitmap () für Bilder zu überschreiben.

Siehe das Canvas-Dokument: http://developer.Android.com/reference/Android/graphics/Canvas.html

Hier ist ein Beispiel, das Text in der Mitte des Bildschirms zeichnet:

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);
}

}
2
ndeverge

wie ich weiß, gibt es keine Möglichkeit, dies zu tun.

wenn Sie jedoch Webview und generierte HTML-Dateien verwenden, können Sie eine ähnliche Version verwenden.

generieren Sie HTML-Dateien aus Ihren Inhalten und laden Sie sie in die Webansicht. Setzen Sie die Webview-Einstellungen auf keine Zoomsteuerung.

0
lulumeya

Dies kann mit image getter gemacht werden: Html.ImageGetter

Sie müssen HTML-Tags für jedes Bild verwenden.

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

Fügen Sie dies Ihrem String hinzu und es wird funktionieren 

0
Prassanna Kumar