2010-04-02 11 views
6

Estoy creando una aplicación de Android y estoy luchando un poco con vistas personalizadas.Android: Vista personalizada basada en el diseño: ¿cómo?

Me gustaría tener una vista reutilizable que consta de algunos elementos de diseño estándar. Digamos una relación relativa con algunos botones.

¿Cómo debo proceder? ¿Debería crear una clase de vista personalizada que extienda RelativeLayout y agregar esos botones programáticamente? ¿Pensaría que es un poco exagerado?

¿Cuál es la forma de hacerlo correctamente en Android?

Respuesta

11

Éstos son algunos pasos difíciles con respecto a una forma de crear una vista agregada de encargo:

  1. extienden RelativeLayout
  2. Proporcionar un constructor en su nueva clase que acepta Contexto y AttributeSet, asegurándose de llamar a la superclase primera . No agregue nada en este punto. Espera hasta el próximo paso.
  3. reemplazar el método onFinishInflate, donde se puede añadir sus contenidos a través de código Java o inflar un recurso XML
  4. Añadir cualquier controlador de eventos, etc
  5. la opción de crear un archivo de recursos si el widget se requieren atributos que desea ajustar.

+3

Tenga en cuenta que para el recurso del formato XML, el elemento de '' root funciona muy bien para este escenario. – CommonsWare

+2

Debo mencionar que al utilizar el método 'onFinishInflate' no se inflan los diseños enraizados' '. Si inflas en el método 'onCreate', funciona. – Peterdk

+1

También hay un documento oficial sobre esto: http://developer.android.com/guide/topics/ui/custom-components.html#compound Pero en realidad esta respuesta fue más útil para mí :) – BoD

Cuestiones relacionadas