Aggiunta di testo a ImageView in Android

Voglio utilizzare un ImageView a mostrare qualche messaggio in un modo di fantasia.

Quindi voglio aggiungere del testo a questo ImageView. Come fare?

InformationsquelleAutor Shashi | 2010-08-04

 

9 Replies
  1. 82

    Per aggiungere un testo al ImageView si può fare questo:

    <RelativeLayout> //Only works inside a RelativeLayout
        <ImageView
            android:id="@+id/myImageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/myImageSouce" />
    
        <TextView
            android:id="@+id/myImageViewText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/myImageView"
            android:layout_alignTop="@+id/myImageView"
            android:layout_alignRight="@+id/myImageView"
            android:layout_alignBottom="@+id/myImageView"
            android:layout_margin="1dp"
            android:gravity="center"
            android:text="Hello"
            android:textColor="#000000" />
     </RelativeLayout>
    • PS.: Deve essere all’interno di un RelativeLayout
    • meglio includere questo PS nel post. Non funziona senza il tuo PS 🙂
    • Questo è il non raccomandato in quanto crea aggiunta di layout. Utilizzare TextView come suggerito in altre risposte.
    • Ho dovuto usare questo, ma il passaggio a una TextView risolto senza alcun problema molto più semplice, credo.
  2. 26

    È inoltre possibile utilizzare una TextView e impostare l’immagine di sfondo che si voleva ImageView. Inoltre, se si utilizza il ImageView come un pulsante è possibile impostare il click-in grado

    Qui è qualche codice di base per un TextView che mostra un’immagine con testo su di esso.

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/your_image"
        android:text="your text here" />
    • il problema è che con questo sfondo non può essere ridimensionato .
    • cosa?! è disponibile su TUTTI i Livelli delle API, a partire dal 1.
  3. 20

    Opzione migliore per l’uso di testo e immagini in un unico vista
    prova questo:

    <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
    
            android:drawableBottom="@drawable/ic_launcher"
    
            android:text="TextView" />
  4. 13

    Utilizzare drawalbeLeft/a Destra/in Basso/in Alto in una TextView per eseguire il rendering di immagini alle rispettive posizioni.

            <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/image"    
            android:text="@strings/text" 
            />
    • L’immagine sarà essere adiacenti, ma non sulla parte superiore della TextView.
  5. 7

    So che questa domanda è stata in passato, ma se qualcun altro sono imbattuto in questo ho voluto far loro sapere. Questo può sembrare un istintivo cosa da fare, ma si potrebbe utilizzare un pulsante cliccabile impostata su false, o che cosa mai. Questo perché un pulsante permette di impostare drawableLeft, drawableRight, drawableTop ecc in aggiunta al testo.

      <Button
      android:id="@+id/button1"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@drawable/border_box1"
      android:drawableLeft="@drawable/ar9_but_desc"
      android:padding="20dp"
      android:text="@string/ar4_button1"
      android:textColor="@color/white"
      android:textSize="24sp" />

    Nuove Info:
    Un pulsante può avere le icone in drawableLeft, drawableRight, drawableTop, e drawableBottom. Questo rende un pulsante standard molto più flessibile di un pulsante immagine. Sinistra, destra, in alto, ecc è la relazione al testo del pulsante. È possibile avere più drawables sul pulsante per esempio uno a sinistra, uno a destra e il testo al centro.

    • Che cosa è android:drawableLeft per qui?
    • Ho aggiunto alcuni commenti di cui sopra.
  6. 3

    Per disegnare il testo direttamente sulla tela le seguenti:

    1. Creare un membro oggetto di disegno in myImageView costruttore

      Paint mTextPaint = new Paint();
    2. Utilizzare canvas.drawText nel myImageView.onDraw() metodo:

      canvas.drawText("My fancy text", xpos, ypos, mTextPaint);

    Esplorare Vernice e Tela documentazione di classe per aggiungere fantasia effetti.

    • vi prego di aiutarmi per quanto riguarda la retromarcia , voglio dire come ottenere il testo dell’esistente ImageView (che è disegnata in modo di cui sopra )in Android?
  7. 2
        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal"
            android:layout_weight="30" >
    
            <ImageButton
                android:id="@+id/imgbtnUploadPendingPods"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:contentDescription="@string/hello_world"
                android:src="@drawable/upload_icon" />
    
            <TextView
                android:id="@+id/textView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal"
                android:paddingTop="30dp"
                android:text="@string/pendingpods"
                android:textAppearance="?android:attr/textAppearanceSmall" />
        </FrameLayout>
    • Non ti preoccupare basta usare il pulsante immagine in CORNICE LAYOUT e trascinare il TESTO VISTA sul pulsante immagine .Fatto, Se u come utile questo post visita il mio sito http://www.krsolutions.in e fare clic sul pulsante “mi piace” sulla parte inferiore del sito

Lascia un commento