Android: vista personalizada desde un diseño inflado
Estoy creando mi propio diseño basado en RelativeLayout
como una clase en código
Tengo fundamentos de la disposición definida en XML R.layout.menu_layout
(estilo, dibujable para el fondo, margen, altura)
- Manejo de la rotación de la pantalla en WebView
- ¿Cómo puedo dibujar una vista animada en android?
- Android - ¿Cómo crear una vista con esquinas redondeadas y un fondo de mosaico de la imagen?
- Reemplazando View.onSaveInstanceState () y View.onRestoreInstanceState () utilizando View.BaseSavedState?
- Configuración de las cookies de Webview de Android desde un archivo HTML en el directorio de activos
Si no necesitara una clase entonces llamaría inflater para hacer esto:
RelativeLayout menuLayout = (RelativeLayout)inflater.inflate(R.layout.menu_layout, root);
Pero me gustaría llamar a mi propia clase en su lugar
MenuLayout menuLayout = new MenuLayout(myparams);
Puesto que necesito crear una clase necesito de alguna manera heredar el R.layout.menu_layout
en constructor, cómo puedo hacer eso? Supongo que no hay this.setLayout(res);
O this.setResource(res);
en vista. Tal vez pueda utilizar los otros dos parámetros en el constructor de Vista, pero no encontré ningún tutorial sobre cómo hacerlo.
- Reproducción de un video local de aplicación (.mp4) en una vista web
- Android ViewGroup: ¿qué debo hacer en el overLayout ()?
- Diferencia entre vista y subvista - Android
- ¿La lógica detrás de startScroll en scroller?
- Cambiar usuario o volver a autenticar con Instagram
- Animar dibujo de círculo / arco sobre lienzo
- Barra lateral de Android como facebook o firefox
- android webview Relacionados
public class MenuLayout extends RelativeLayout { public MenuLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initView(context); } public MenuLayout(Context context, AttributeSet attrs) { super(context, attrs); initView(context); } public MenuLayout(Context context) { super(context); initView(context); } private void initView(Context context) { View view = LayoutInflater.from(context).inflate(R.layout.menu_layout, null); addView(view); } }
Ahora puedes usar
MenuLayout menuLayout = new MenuLayout(myparams);
Puede cambiar constructores para params i think
- Cómo diseñar DialogPreference con un tema personalizado?
- SoundCloud HTML5 Widget API – No funciona en Chrome para Android