2012-07-25 15 views
5

Necesito crear dinámicamente un botón con estilo. Pensé que tal vez debería hacerlo de esta manera:¿Cómo crear dinámicamente un botón y asignarle un estilo definido en styles.xml?

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

Pero getXml tiros "falló recursos Solicitando porque es compleja" excepción. ¿Hay alguna manera fácil de hacer lo que necesito?

+0

Cómo añadir estilos progrmatically? http://stackoverflow.com/q/11507476/1012284 –

+0

¿Esta pregunta soluciona su problema? [Conjunto de estilos en el Código] [1] [1]: http://stackoverflow.com/questions/2016249/how-to-programmatically-setting-style-attribute-in-a -vista – banzai86

Respuesta

7

Uso siguiente constructor para crear Botón del objeto:

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) 

y pasar los parámetros siguientes:

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

No hay necesidad de utilizar XmlPullParser .

+0

¡Gracias! Esa página que ha vinculado es la primera que busqué, pero parece que no tiene descripciones para los constructores. –

+0

eres bienvenido, sí, no hay una descripción para la clase de botón, pero si miras la documentación de la clase View, encontrarás suficiente. – jeet

0

Su básicamente esto:

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

Cuestiones relacionadas