Ich kenne set drawableRight in XML. aber ich musste es programmgesteuert tun, weil es sich gemäß einer Bedingung ändert.
Wie setze ich drawableRight programmgesteuert auf Android Edittext?
Sanket Kachhela
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
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
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);
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.
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);
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.
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);
Verwenden setCompoundDrawablesWithIntrinsicBounds() für EditText.
– Pijusch
10. März 2014 um 10:09 Uhr