Как программно установить drawableLeft на кнопку Android? - PullRequest
383 голосов
/ 21 декабря 2010

Я динамически создаю кнопки.Сначала я их стилизовал, используя XML, и пытаюсь взять XML ниже и сделать его программным.Я могу сделать все, кроме рисования.

linear = (LinearLayout) findViewById(R.id.LinearView);
Button button = new Button(this);
button.setText("Button");
button.setOnClickListener(listener);
button.setLayoutParams(
    new LayoutParams(
        android.view.ViewGroup.LayoutParams.FILL_PARENT,         
        android.view.ViewGroup.LayoutParams.WRAP_CONTENT
    )
);      

linear.addView(button);

Ответы [ 12 ]

0 голосов
/ 19 февраля 2019

Попробуйте это:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                fillButton[i].setBackground(getBaseContext().getResources().getDrawable(R.drawable.drawable_name));
            }
else{
     fillButton[i].setBackgroundColor(Color.argb(255,193,234,203));

}
0 голосов
/ 26 мая 2015

Попробуйте это:

((Button)btn).getCompoundDrawables()[0].setAlpha(btn.isEnabled() ? 255 : 100);
...