Wie setze ich drawableRight programmgesteuert auf Android Edittext?

Lesezeit: 2 Minuten

Benutzer-Avatar
Sanket Kachhela

Ich kenne set drawableRight in XML. aber ich musste es programmgesteuert tun, weil es sich gemäß einer Bedingung ändert.

  • Verwenden setCompoundDrawablesWithIntrinsicBounds() für EditText.

    – Pijusch

    10. März 2014 um 10:09 Uhr


Benutzer-Avatar
Laurent Choy

Sie können die folgende Funktion verwenden:

editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.drawableRight, 0);

oder (wenn Sie das Drawable selbst anstelle seiner ID übergeben möchten)

editText.setCompoundDrawablesWithIntrinsicBounds(null, null, ContextCompat.getDrawable(context,R.drawable.drawableRight), null)

Die Reihenfolge der Parameter, die der zeichbaren Position entsprechen, ist: links, oben, rechts, unten

  • Wie kann ich diesem Drawable eine ID zuweisen? Im Grunde möchte ich diesem bestimmten Drawable einen Touch-Listener hinzufügen

    – Thorwald

    8. Dezember 2016 um 4:01 Uhr

  • @Lawrence Choy Hallo Sir, wie man überprüft, ob das Bild bereits beendet ist oder nicht. Bitte helfen Sie mir in diesem Fall, und wie man die Bildfarbe ändert.

    – Gowthaman M

    24. Juli 2017 um 7:38 Uhr


Benutzer-Avatar
Rethinavel

Weiter finden hier

EditText myEdit = (EditText) findViewById(R.id.myEdit);
myEdit.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.icon, 0);  
// where params are (left,top,right,bottom)

Sie können zeichenbare Polsterung auch programmgesteuert festlegen:

myEdit.setCompoundDrawablePadding("Padding value");

  • Hallo Sir, wie man überprüft, ob das Bild bereits beendet ist oder nicht. Bitte helfen Sie mir in diesem Fall, und wie man die Bildfarbe ändert

    – Gowthaman M

    24. Juli 2017 um 7:38 Uhr


Benutzer-Avatar
Sagar Maiyad

Versuchen Sie es wie folgt:

Drawable img = getContext().getResources().getDrawable( R.drawable.smiley );
EdtText.setCompoundDrawablesWithIntrinsicBounds( 0, 0, img, 0);

Bearbeiten :

 int img = R.drawable.smiley;
 EdtText.setCompoundDrawablesWithIntrinsicBounds( 0, 0, img, 0);

Benutzer-Avatar
misbahm3

Versuchen:

EditText editFirstname = (EditText) findViewById(R.id.edit_fname);
Drawable icUser = getResources().getDrawable(R.drawable.ic_user);
editFirstname.setCompoundDrawablesWithIntrinsicBounds(null, null, icUser, null);

Dann können Sie diesem bestimmten Drawable einen Touch Listener hinzufügen.

Benutzer-Avatar
abir-cse

Um gleichzeitig nach links und rechts zu wechseln, verwende ich diese einzelne Linie.

download.setCompoundDrawablesWithIntrinsicBounds( R.drawable.ic_lock_open_white_24dp, 0, R.drawable.ic_lock_open_white_24dp, 0);

Benutzer-Avatar
androidevil

int img = R.drawable.smiley;
editText.setCompoundDrawables( null, null, img, null );

Erklärt hier

setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom)

Legt fest, dass Drawables (falls vorhanden) links, über, rechts und unter dem Text angezeigt werden. Verwenden Sie 0, wenn Sie dort kein Drawable möchten. Die Grenzen der Drawables werden auf ihre intrinsischen Grenzen gesetzt.

Benutzer-Avatar
Keshav Gera

        et_feedback.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {

                }
              et_feedback.setCompoundDrawablesWithIntrinsicBounds(0,R.mipmap.feedback_new, 0, 0);                
               et_feedback.setTextColor(Color.BLACK);

            }
        });

Verstecke Drawable damit

et_feedback.setCompoundDrawablesWithIntrinsicBounds(0,0, 0, 0);

1311830cookie-checkWie setze ich drawableRight programmgesteuert auf Android Edittext?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy