2017-03-13 2 views
0

J'ai un bouton gauche drawable:Bouton Changer Drawable Programmatically

<Button 
    android:id="@+id/post_feeling_btn" 
    android:background="@color/white" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="4dp" 
    android:drawableLeft="@drawable/feeling_btn" 
    android:gravity="left|center_vertical" 
    android:textColor="@color/gray" 
    android:text="Sentimento"/> 

Dans mon sur la méthode de curriculum vitae, je modifier le texte du bouton programme:

Button setFeeling; 
FeelingButton selectedFeeling; 

@Override 
public void onResume() { 
    super.onResume(); 
    selectedFeeling = ((FeedActivity)getActivity()).getSelectedFeeling(); 
    if(selectedFeeling != null){ 
     setFeeling.setText(selectedFeeling.getFeeling()); 
    } 
} 

Est-il possible de changer mon drawable gauche et définir l'image dans la même méthode, en utilisant l'image que j'ai dans mon objet SelectedFeeling? Je cherche quelque chose comme:

setFeeling.setDrawable(); 

Répondre

4

essayer quelque chose comme ceci: pour drawableLeft

int imgResource = R.drawable.your_drawable; 
setFeeling.setCompoundDrawablesWithIntrinsicBounds(imgResource, 0, 0, 0); 
setFeeling.setCompoundDrawablePadding(8);  //for padding 

Merci à la Answer Ici aussi.

+0

Il a fonctionné, mais l'image est trop grande. Y a-t-il un moyen de régler la hauteur et la largeur? – Rob

+1

@rob comme je sais, vous ne pouvez pas définir la taille de drawable à gauche, essayez de réduire la taille de l'image. –