Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to dynamically create a button and assign it a style defined in styles.xml?

I need to dynamically create a styled button. I thought maybe I should do it like this:

XmlPullParser parser = m_context.getResources().getXml(R.style.Button_Plain);
buttonStyle = Xml.asAttributeSet(parser);
Button btn = new Button (m_context, buttonStyle);

But getXml throws exception "Requesting resource failed because it is complex". Is there any easy way to do what I need?

like image 223
Violet Giraffe Avatar asked Jul 25 '12 11:07

Violet Giraffe


1 Answers

Use Following Constructor to create Button Object:

http://developer.android.com/reference/android/widget/Button.html#Button(android.content.Context, android.util.AttributeSet, int)

public Button (Context context, AttributeSet attrs, int defStyle)

and pass following parameters:

Button btn = new Button (m_context, null, R.style.Button_Plain);

No need to use XmlPullParser.

like image 169
jeet Avatar answered Oct 13 '22 22:10

jeet