2013-02-20 3 views
0

How to remove button background resource Я назвал это, но мне нужно удалить фон кнопки, и это должно изменить фон в соответствии с темой deviceDefault. Средство просто удаляет добавленный ресурс в последний раз, не назначая новый ресурс.Как удалить фон ресурс кнопки?

Может ли кто-нибудь помочь решить эту проблему? Thank You

+0

Я не понимаю, о чем вы просите. После «удаления», должна ли кнопка выглядеть как системные кнопки по умолчанию? Если да, ответ, на который вы ссылаетесь, делает это. Если нет, уточните пожалуйста. – Geobits

+0

да, вы правы. В этой ссылке добавляется btn_default, которая является кнопкой android по умолчанию, но в моем случае у меня есть собственный тег, то есть тема DeviceDefault, в которой кнопка выглядит и чувствуется иначе » –

ответ

17

попробуйте назначить фон: @null в xml-файле для запрограммированной попытки layout.setBackgroundResource (0);

+0

нет, я должен делать это программно –

+0

, добавив your_button.setBackgroudResource (0) удалите любой предопределенный backgroud. –

+0

ya Я попробовал и удаляет все –

-2
Button b; 
    b=(Button)findViewById(R.id.button1); 
    b.setBackgroundResource(R.drawable.ic_launcher); 
    b.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      b.setBackgroundResource(android.R.drawable.btn_default); 

     } 
    }); 

это должно помочь вам

+2

Это те же самые в вышеупомянутой ссылке. –

0

Если вы только делаете это несколько раз, простой способ просто сохранить предыдущий фон перед изменением его. Вы можете хранить его в tag поле Button:

//store previous background drawable 
myButton.setTag(myButton.getBackground()); 

// ... alter background, do whatever 


//restore background drawable from tag 
myButton.setBackground((Drawable)myButton.getTag()); 
+0

Эта логика может быть применена, я думаю, попробую и верну вас. Спасибо –

7

Вы можете сделать это, изменив фоновый ресурс. В файле XML для атрибутов кнопки.

<Button 
    ... 
    android:background="@null" /> 

Должен сделать это.

2

Вместо установки фона в @null вы можете добавить стиль:

<Button 
    ... 
    style="@style/Widget.AppCompat.Button.Borderless" />