2010-12-10 5 views

Répondre

3

Avec un temps d'enquête de 2 minutes, vous pouvez le trouver très facilement. Mais cela pourrait vous aider:

ButtonName.setText("Content of button text"); 
String myJpgPath = "/sdcard/pic.jpg"; 
Bitmap image_b = BitmapFactory.decodeFile(myJpgPath); 
BitmapDrawable image_d = new BitmapDrawable(image_b); 

puis utilisez image_b pour .setBackgroundDrawable

ButtonName.setBackgroundDrawable(image_d); 
+0

Je les images lors de l'exécution comme à partir d'Internet ne R.drawable.Name est pas utilisé – Shrenik

+0

puis prenez votre image stockée localement en bitmap et convertissez-la en drawable String myJpgPath = "/sdcard/pic.jpg"; Bitmap image_b = BitmapFactory.decodeFile (monJpgPath); BitmapDrawable image_d = new BitmapDrawable (image_b); puis utilisez image_b pour .setBackgroundDrawable – Thrawn80

1

==> setCompoundDrawables public void (gauche Drawable, haut Drawable, droit Drawable, fond Drawable)

Définit les dessinables (le cas échéant) apparaissent à gauche, au-dessus, à droite de et en dessous du texte. Utilisez null si vous ne voulez pas de dessin ici. Les Drawables doivent déjà avoir appelé setBounds (Rect).

0

Vous créez un bouton ...

Button myButton = new Button(this); 

... puis vous ajoutez le texte. ..

myButton.setText("MyButton"); 

... après que vous ajoutez l'image d'arrière-plan ...

  • si vous utilisez un fichier .png, vous pouvez utiliser:

    myButton.setBackgroundResource(R.drawable.myimg); 
    

    (ne pas oublier que vous devez mettre le .png fichier dans le dossier drawable)

  • ou vous pouvez essayer d'utiliser le setBackgroundDrawable (Drawable d)

+0

cela fonctionne avec du texte, mais qu'en est-il des images? Je veux avoir une image en arrière-plan – Shrenik

+0

J'ai mis à jour mon post, vous devriez être capable de mettre une image de fond maintenant. – Toorop

0

Je suppose que ce devrait être quelque chose comme ça (je ne l'ai jamais essayé, mais dans une situation similaire, elle permet des travaux):

Button myButton = new Button(this); 
LinearLayout layout=new LinearLayout(this); 
layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 

ImageView imageView=new ImageView(this); 
TextView textView=new TextView(this); 
//... 

//add text+image to layout 
layout.addView(textView); 
layout.addView(imageView); 

//add layout to button 
myButton.addView(layout); 
Questions connexes