Depois de chamar o setCompoundDrawables
método, o composto Drawable não é mostrado ..
Drawable myDrawable = getResources().getDrawable(R.drawable.btn);
btn.setCompoundDrawables(myDrawable, null, null, null);
Alguma ideia?
android
android-layout
android-drawable
hunterp
fonte
fonte
(..)WithIntrinsicBounds
precisa ser chamada. Em uma nota lateral,padding
para o Drawable composto deve ser definido após esta chamada para causar efeito #setBounds(Rect)
telefonado.Respostas:
Eu precisava estar usando
setCompoundDrawablesWithIntrinsicBounds
.fonte
Use isto (eu testei). Funciona bem
fonte
EditText#setCompoundDrawablesWithIntrinsicBounds
requer, pelo menos, API 17.A imagem está em branco porque não possui limites especificados. Você pode usar,
setCompoundDrawables()
mas antes de especificar os limites da imagem, usando oDrawable.setBounds()
métodofonte
Exemplo definido para o topo:
ordem dos argumentos: (esquerda, superior, direita, inferior)
fonte
Um pouco mais simples novamente:
fonte
Ele foi descontinuado na API 22.
Este código é útil para mim:
fonte
Em Kotlin:
1) conjunto
drawable
:ou
2) conjunto
TextView
:ou
fonte
setCompoundDrawablesWithIntrinsicBounds
funcionou ..Para mim, setCompoundDrawablesWithIntrinsicBounds (Drawable, Drawable, Drawable, Drawable) não funcionou.
Eu tive que usar setCompoundDrawablesWithIntrinsicBounds (0, 0, 0, 0) .
fonte
Exemplo com Kotlin:
fonte
A imagem não é exibida porque você não especificou os limites; portanto, você tem duas opções aqui.
1º método
Use o
setCompoundDrawablesWithIntrinsicBounds
método, como mostrado abaixo2º Método
Você pode aplicar limites ao drawable antes de aplicar ao TextView, conforme mostrado abaixo
É isso aí.
fonte