Sinistra/destra imbottitura per il Pulsante.setCompoundDrawablesWithIntrinsicbounds()?

Sto cercando di impostare un icona a sinistra su un pulsante con:

setCompoundDrawablesWithIntrinsicBounds(R.drawable.foo, 0, 0, 0);

ma l’icona è posizionata a filo contro il bordo sinistro del pulsante, e la stringa di testo. C’è un modo per specificare alcuni a sinistra/destra imbottitura in dotazione icona in modo che non sia proprio contro i bordi?

Grazie

InformationsquelleAutor user291701 | 2012-06-04

 

2 Replies
  1. 40

    Credo che quello che stai cercando è android:drawablePadding

    Ecco un esempio di utilizzo di drawablePadding con paddingLeft e paddingRight per posizionare un’immagine in un pulsante

    <Button
        android:id="@+id/button"
        android:layout_width="200dp"
        android:layout_height="80dp"
        android:drawableLeft="@drawable/ic_launcher"
        android:drawablePadding="2dip"
        android:paddingLeft="30dip"
        android:paddingRight="26dip"
        android:text="Test" />

    Sinistra/destra imbottitura per il Pulsante.setCompoundDrawablesWithIntrinsicbounds()?

    • Bello, non sapevo nemmeno che esiste. Peccato che sembra che ci sia alcun modo per impostare il padding su un solo lato.
    • Ho aggiunto un esempio di mettere imbottitura su un lato 🙂
    • Che funziona, ma cosa succede se si voleva imbottitura extra solo lungo il bordo destro dell’immagine?
    • È sufficiente rimuovere il paddingLeft attributo.
    • L’imbottitura sulla destra dell’immagine non è effettivamente cambiato. Provare a utilizzare una stringa più lunga e le puoi vedere.
    • Come si fa a farlo in codice, e anche ridurre al minimo lo spazio tra l’immagine e il testo?
    • vecchia questione, ma forse questo sarà di aiuto a qualcun altro: yourTextView.setCompoundDrawablePadding(imbottitura);
    • Non mi ricordo questa domanda, ma grazie. Qualsiasi modo per farlo tramite XML ? Inoltre, penso che quello che stai suggerendo di aggiungere spazio, mentre ho chiesto di ridurla al minimo.

  2. 10

    Per chi cerca la programtic modo, qui è un esempio:

    menuButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.foo, 0, 0, 0);
    menuButton.setCompoundDrawablePadding(10);

Lascia un commento