XML'de drawableRight setini biliyorum. ancak bunu programlı olarak yapmak zorundaydım çünkü bazı koşullara göre değişiklik gösteriyor.
XML'de drawableRight setini biliyorum. ancak bunu programlı olarak yapmak zorundaydım çünkü bazı koşullara göre değişiklik gösteriyor.
Yanıtlar:
Aşağıdaki işlevi kullanabilirsiniz:
editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.drawableRight, 0);
veya (çekilebilir dosyanın kimliği yerine kendisini geçirmek istiyorsanız)
editText.setCompoundDrawablesWithIntrinsicBounds(null, null, ContextCompat.getDrawable(context,R.drawable.drawableRight), null)
Çekilebilir konuma karşılık gelen parametrelerin sırası: sol, üst, sağ, alt
EditText myEdit = (EditText) findViewById(R.id.myEdit);
myEdit.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.icon, 0);
// where params are (left,top,right,bottom)
Çekilebilir dolguyu programlı olarak da ayarlayabilirsiniz:
myEdit.setCompoundDrawablePadding("Padding value");
Aşağıdaki gibi deneyin:
Drawable img = getContext().getResources().getDrawable( R.drawable.smiley );
EdtText.setCompoundDrawablesWithIntrinsicBounds( 0, 0, img, 0);
Düzenle :
int img = R.drawable.smiley;
EdtText.setCompoundDrawablesWithIntrinsicBounds( 0, 0, img, 0);
Deneyin:
EditText editFirstname = (EditText) findViewById(R.id.edit_fname);
Drawable icUser = getResources().getDrawable(R.drawable.ic_user);
editFirstname.setCompoundDrawablesWithIntrinsicBounds(null, null, icUser, null);
Daha sonra, bu belirli çekmeceye bir dokunma dinleyicisi ekleyebilirsiniz.
int img = R.drawable.smiley;
editText.setCompoundDrawables( null, null, img, null );
Burada açıklandı
setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom)
Çekilebilirleri (varsa) metnin solunda, üstünde, sağında ve altında görünecek şekilde ayarlar. Orada bir Çizilebilir istemiyorsanız 0 kullanın. Çekilebilirlerin sınırları kendi iç sınırlarına ayarlanacaktır.
Aradığınız şeyi yapmak için setCompoundDrawablesWithIntrinsicBounds () işlevinde yerleşik editText görünümünüzü (burada txview) kullanabilirsiniz.
benim kodumda böyle kullandım. txview.setCompoundDrawablesWithIntrinsicBounds (0,0, R.drawable.ic_arrow_drop_up, 0);
txview.setCompoundDrawablesWithIntrinsicBounds(left,top,right,bottom);
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);
}
});
Bunu kullanarak Çekilebilir'i gizle
et_feedback.setCompoundDrawablesWithIntrinsicBounds(0,0, 0, 0);