Как установить кнопку фонового изображения через код - PullRequest
26 голосов
/ 13 сентября 2011

Я использую Button, созданный с использованием следующего кода

LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);

Button btn = new Button(this);
btn.setOnClickListener(newtodobtn);
btn.setText("New Todo");

btn.setBackgroundDrawable(new Button(this).getBackground());

ll.addView(btn);

У меня есть изображение в пути @drawable/new_todo_image, чтобы установить в качестве фона для кнопки.Как установить Button программно?

Ответы [ 5 ]

89 голосов
/ 13 сентября 2011

для установки фонового изображения для кнопки, которая находится в папке для рисования, затем используйте код ниже

btn.setBackgroundResource(R.drawable.new_todo_image);
7 голосов
/ 13 сентября 2011

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

btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.new_todo_image));
1 голос
/ 27 июня 2016

В андроид студии для установки фонового изображения кнопки напишите следующий код:

int image_resid = getApplicationContext().getResources().getIdentifier("image_name", "drawable", getApplicationContext().getPackageName());
button.setBackgroundResource(image_resid);
1 голос
/ 08 октября 2015

Попробуйте вот так

final int sdk = android.os.Build.VERSION.SDK_INT;
    if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN)
     {
      mBtn.setBackgroundDrawable( getResources().getDrawable(R.drawable.new_todo_image) );
     } 
    else
       {
       mBtn.setBackground( getResources().getDrawable(R.drawable.new_todo_image));
       }
0 голосов
/ 13 сентября 2011

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

btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.new_todo_image));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...