如何动态创建一个按钮并为其指定styles.xml中定义的样式?

时间:2012-07-25 11:43:48

标签: android user-interface

我需要动态创建一个样式按钮。我想也许我应该这样做:

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

getXml抛出异常“请求资源失败,因为它很复杂”。有什么简单的方法可以做我需要的吗?

2 个答案:

答案 0 :(得分:7)

使用以下构造函数创建Button对象:

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)

并传递以下参数:

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

无需使用XmlPullParser。

答案 1 :(得分:0)

基本上是这样的:

Button button = new Button(ContextActivity, null, R.style.whateverStyleYouHad);