¿Es posible establecer drawableLeft programmaticaly?

En XML podemos establecer drawableLeft de esta manera:

<Button android:id="@+id/previewBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/white_btn" android:drawableLeft="@drawable/green_circle" android:drawablePadding="16dp" android:text="Button" /> 

¿Cómo hacer lo mismo programmaticaly?

Sí, use setCompoundDrawablesWithIntrinsicBounds

Y definir el dibujable para el primer parámetro, luego 0 para todos los demás.

El código debería verse así:

 Button b = findViewById(R.id.myButton); b.setCompoundDrawablesWithIntrinsicBounds(R.drawable.myDrawable, 0, 0, 0); 

Si su drawable se creó en código también entonces usted necesita utilizar el otro método de setCompoundDrawablesWithIntrinsicBounds que toma 4 drawables, y pase el null para todos menos la izquierda.

El método a utilizar es setCompoundDrawablesWithIntrinsicBounds . Este método toma las cuatro opciones dibujables (izquierda, arriba, derecha, abajo), por lo que si sólo desea dejar, pasar en null para los demás.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.