Después de llamar al setCompoundDrawables
método, no se muestra el Drawable compuesto.
Drawable myDrawable = getResources().getDrawable(R.drawable.btn);
btn.setCompoundDrawables(myDrawable, null, null, null);
¿Alguna idea?
android
android-layout
android-drawable
Hunterp
fuente
fuente
(..)WithIntrinsicBounds
debe llamarse a la variante del método nombrado . En una nota al margen,padding
para que el Compuesto Dibujable se debe configurar después de esta llamada para causar un efectosetBounds(Rect)
llamado.Respuestas:
Necesitaba estar usando
setCompoundDrawablesWithIntrinsicBounds
.fuente
Use esto (lo probé). Funciona bien
fuente
EditText#setCompoundDrawablesWithIntrinsicBounds
requiere al menos API 17.La imagen está en blanco porque no tiene límites especificados. Puede usar,
setCompoundDrawables()
pero antes de especificar los límites de la imagen, use elDrawable.setBounds()
métodofuente
Ejemplo establecido en la parte superior:
orden de argumentos: (izquierda, arriba, derecha, abajo)
fuente
Un poco más simple de nuevo:
fuente
Está en desuso en API 22.
Este código es útil para mí:
fuente
En Kotlin:
1) Conjunto
drawable
:o
2) Conjunto
TextView
:o
fuente
setCompoundDrawablesWithIntrinsicBounds
funcionó ..Para mí, setCompoundDrawablesWithIntrinsicBounds (Drawable, Drawable, Drawable, Drawable) no funcionó.
Tuve que usar setCompoundDrawablesWithIntrinsicBounds (0, 0, 0, 0) .
fuente
Ejemplo con Kotlin:
fuente
La imagen no se muestra porque no especificó los límites, por lo que tiene 2 opciones aquí.
1er método
Use el
setCompoundDrawablesWithIntrinsicBounds
método, como se muestra a continuación2do método
Puede aplicar límites al dibujable antes de aplicar a TextView, como se muestra a continuación
Eso es.
fuente