2012-01-21 18 views
18

primo post here =) Ho cercato questa risposta e non sono stato in grado di trovarlo. Quello che voglio fare è avere del testo, quindi aggiungere un'immagine, quindi il resto del testo. Per esempio:Android Aggiungi immagine al testo (nel testo Visualizza)?

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

ho cercato, ma tutto quello che posso trovare è aggiungere testo all'immagine o aggiungere un'immagine all'altra View, e non credo che è quello che voglio, perché l'applicazione è principalmente di testo, ma con immagini su di esso.

Quindi la mia domanda è: come aggiungo un'immagine al testo?

grazie


UPDATE: Ho usato il consiglio R.daneel.olivaw mi ha dato e ha funzionato bello =)

Ma ho un problema. Diciamo che ho: "a b c" dove ho impostato la posizione di b come spanable. Ma se provo a cancellare il testo e cancello b, la prossima volta che scriverò qualcosa diventerà l'immagine che ho usato in spanable. Come posso correggere questo? Qualcuno ha qualche consiglio? thanks =)

risposta

25

Penso che si sta cercando per l'interfaccia Spannable, Usando questo si può aggiungere immagini a una vista testuale.

Questo link potrebbe aiutare.

enter image description here

+0

questa cuciture a work.awsome, terrò provarlo e vedere se lo fa quello che voglio =) – user1162299

+0

Ciao, andò a finire essere utile per te? –

+0

sì, totalmente funzionante. Grazie. Ma ho un problema diciamo che ho: "a b c" dove imposto la posizione di b come espandibile. ma se provo a cancellare il testo e cancello b la prossima volta che scrivo qualcosa diventerà l'immagine che ho usato in spanable. Come posso correggere questo? – user1162299

0

come so, non c'è modo di farlo.

ma quando si utilizza webview e generato html si può fare simillar uno.

generare HTML dai contenuti e caricarlo su Webview, impostare le impostazioni di Webview su nessun controllo zoom.

2

l'opzione migliore è creare la propria vista e sovrascrivere il metodo onDraw() utilizzando canvas.drawText() per il testo e canvas.drawBitmap() per le immagini.

veda la documentazione delle Canvas: http://developer.android.com/reference/android/graphics/Canvas.html

Ecco un esempio che disegnano un testo al centro dello schermo:

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

} 
0

Questo può essere fatto con l'immagine getter: Html.ImageGetter

Si dovrà utilizzare i tag HTML per ogni immagine.

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

Aggiungi questo al tuo String e funzionerà

Problemi correlati