68 votes

Comment définir la propriété "android:drawableTop" sur un bouton au moment de l'exécution

Comment définir la propriété "android:drawableTop" sur un bouton au moment de l'exécution

144voto

Tanmay Mandal Points 13341

Utilisation

button.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);

Jeux le un drawable (le cas échéant) s'affiche à gauche de l', ci-dessus, à droite et en dessous du texte. Indiquez 0 si vous ne voulez pas un Drawable-il. L'un drawable' limites seront fixés à leurs limites intrinsèques.

Si vous utilisez

button.setCompoundDrawables(left, top, right, bottom);

Jeux le un drawable (le cas échéant) s'affiche à gauche de l', ci-dessus, à droite et en dessous du texte. Utiliser la valeur null si vous ne voulez pas un Drawable-il. L'un drawable doit déjà avoir eu setBounds(Rect) appelé.

57voto

Kirit Vaghela Points 3653
Drawable top = getResources().getDrawable(R.drawable.image);
button.setCompoundDrawablesWithIntrinsicBounds(null, top , null, null);

23voto

Gil Points 353
final Drawable drawableTop = getResources().getDrawable(R.drawable.btn_check_buttonless_on);

btnByCust.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {


 btnByCust.setCompoundDrawablesWithIntrinsicBounds(null, drawableTop , null, null);

        }
    });

4voto

iamtheexception Points 1476
        Button button = (Button) findViewById(R.id.button);
        button.setCompoundDrawables(left, top, right, bottom);

2voto

KNU Points 83

J'utilise ce code pour utiliser le Thème".Holo" bouton avec un "Custom image" à gauche et de les modifier (l'image)avec une fonction qui est appelée à partir de diverses manières.

protected void app_dibujarLogojuego() {
    if(bitmaplogojuego!=null){
        bitmaplogojuego.recycle();
        bitmaplogojuego=null;
    }
    Drawable LOGO = null;
    if(verjuego.equals("COSA1")){  LOGO = getResources().getDrawable(R.drawable.img_logo_COSA1);  }
    if(verjuego.equals("COSA2")){  LOGO = getResources().getDrawable(R.drawable.img_logo_COSA2);  }
    if(verjuego.equals("COSA3")){  LOGO = getResources().getDrawable(R.drawable.img_logo_COSA3);  }
    if(verjuego.equals("COSA4")){  LOGO = getResources().getDrawable(R.drawable.img_logo_COSA4);  }

    BUTTON_DECLARED_ID.setCompoundDrawablesWithIntrinsicBounds(LOGO, null , null, null);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X