2012-05-14 17 views
7

puedo crear botón en el archivo xml de esta manera:Button y estirable dejaron

<Button 
     android:id="@+id/call_button" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_marginTop="30dp" 
     android:background="@drawable/button" 
     android:layout_weight="40" 
     android:drawableLeft="@drawable/symbol_phone" 
     android:paddingLeft="20dp" 
     android:drawablePadding="-25dp" 
     android:text="Call" 
     android:textColor="@color/white" 
     /> 

me gustaría saber cómo puedo hacer drawableLeft en la actividad. Sé que es estúpido, pero necesito hacer esto en la actividad porque creo un botón allí. ¿Cómo puedo hacer lo mismo que tengo en el archivo xml en mi actividad? Necesito agregar el relleno deslizable y deslizable y el relleno a la izquierda. Esto es cómo creo botón en la actividad

Button button1 = new Button(this); 
button1.setLayoutParams(new RelativeLayout.LayoutParams(buttonWidth, buttonHeight)); 
button1.setText(systemTexts.getShowCallButton()); 
button1.setBackgroundDrawable(new          
button1.setTextColor(Color.parseColor(buttonTextColor)); 

Respuesta

20
Drawable image = getContext().getResources().getDrawable(R.drawable.icon); 
image.setBounds(0, 0, 60, 60); 
button.setCompoundDrawables(image, null, null, null); 

hacer esto

Actualización:

Desde getContext().getResources().getDrawable es ahora obsoleto , utilizar esto en su lugar:

Drawable image = ContextCompat.getDrawable(getApplicationContext(),R.drawable.icon); 
    image.setBounds(0, 0, 60, 60); 
    button.setCompoundDrawables(image, null, null, null); 
5

probar esto,

Drawable icon= getContext().getResources().getDrawable(R.drawable.icon); 
button.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null); 
-1

Puede utilizar a continuación el código

<Button android:text="@string/button_label" 
android:id="@+id/buttonId" 
android:layout_width="160dip" 
android:layout_height="60dip" 
android:layout_gravity="center" 
android:textSize="13dip" 
android:drawableLeft="@drawable/button_icon" 
android:drawablePadding="2dip" 
android:paddingLeft="30dip" 
android:paddingRight="26dip" 
android:singleLine="true" 
android:gravity="center" /> 

Se administrará por el texto de relleno ti y la imagen tanto

+0

Creo que no lo hace la respuesta la pregunta, el OP quería hacerlo programáticamente. – Joffrey

0

Usted puede intentar esto:

txtVw.setCompoundDrawables(R.drawable.img_nature, 0, 0, 0);