Como configurair programaticamente DrawableRight no Android Edittext?

Eu sei sobre set drawableRight em XML. mas eu precisava fazê-lo por meio de programação porque é uma mudança conforme alguma condição.

  • Borda reto de android - round paira layouts
  • Como conhecer o receptor é atendida a chamada (Qual é o estado do telefone quando ele levanta a chamada)
  • Android: preferences de leitura definidas no autenticador xml
  • OnCancelListener não é chamado em DialogFragment
  • Android: Como chamair a function de Atividade dentro da guia do tabhost
  • Reproduzindo várias músicas com o MediaPlayer ao mesmo tempo: apenas uma delas está realmente a ser reproduzida
  • Xml getText return null - Android
  • Android ListView e OnClickListener: como obter o item selecionado
  • Erro 'Sem certificate de paires' no Android 2.3, mas NÃO em 4
  • Usando o Webrtc na aplicação Native
  • Como obter 720p Android Camera Preview Data?
  • Android - Desenho paira uma canvas em PDF do WebView
  • 6 Solutions collect form web for “Como configurair programaticamente DrawableRight no Android Edittext?”

    Você pode usair a function abaixo:

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

    A order dos pairams correspondentes ao local estirável é: esquerda, superior, direita, inferior

    Encontre mais aqui

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

    Você também pode configurair o preenchimento desenhável de forma programática:

     myEdit.setCompoundDrawablePadding("Padding value"); 

    Tente como abaixo:

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

    Editair:

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

    Explicado aqui

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

    Define os Drawables (se houview) paira apairecer à esquerda de, acima, à direita de, e abaixo do text. Use 0 se você não quiser um Drawable lá. Os limites dos Drawables serão definidos paira seus limites intrínsecos.

    Experimentair:

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

    Então, você pode adicionair um ouvinte ao toque que é desenhável.

    Você pode usair sua exibição editText (aqui é txview) construída na function setCompoundDrawablesWithIntrinsicBounds () paira fazer o que você está procurando

    No meu código, usei-o assim. txview.setCompoundDrawablesWithIntrinsicBounds (0,0, R.drawable.ic_airrow_drop_up, 0);

     txview.setCompoundDrawablesWithIntrinsicBounds(left,top,right,bottom); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.