Android: ¿Es posible hacer una copia de una vista?
La aplicación en la que estoy trabajando requiere un diseño dinámico que muestre un HorizontalScrollView de perfiles. Un perfil es simplemente un RelativeLayout con una imagen y un poco de texto. Desde que obtengo los datos de un archivo de datos, necesito crear un diseño Relativo para cada uno de los perfiles. Al principio creé cada RelativeLayout de forma programática en un bucle for y luego lo agregué a la vista principal. Esto funciona, pero no quiero hacerlo de esta manera. Quiero utilizar diferentes archivos de diseño basados en el tamaño de pantalla del dispositivo, etc.
Entonces pensé. Bueno, ¿y si tuviera un Layout con sólo un perfil en él? Mi código podría conseguir que un perfil con findViewById()
y luego crear nuevos basados en él! En otras palabras:
- No se encontró ningún identificador de recurso para el atributo 'paddingEnd' en Package 'android'
- Falta de ActionBar en el diseño del material
- ¿Cuáles son las diferencias entre LinearLayout, RelativeLayout y AbsoluteLayout?
- ScrollView no se desplaza hasta el final del margen inferior del LinearLayout interno
- Android TextView no se puede seleccionar en CoordinatorLayout? (TextView no admite la selección de texto.
// get the layout profileLayout = (LinearLayout) findViewById(R.id.profileLayout); // get the first profile in the layout originalProfile = (RelativeLayout) findViewById(R.id.profile1); // make copy of profile temporaryProfile = originalProfile; // make changes to the this profile and add it back profileLayout.addView(temporaryProfile);
Por supuesto, esto no funciona porque es java y temporaryProfile es ahora una referencia a originalProfile. ¿Hay alguna manera de hacer una copia de este RelativeLayout? Soy consciente de LayoutInflater, pero todavía no entiendo cómo funciona. También hay Object.clone()
.
- Android - diseño de fila de 3 columnas - ¿Cómo puedo hacer que ocupe un porcentaje de la pantalla?
- Cómo incrustar código HTML en la aplicación de Android?
- Quiero que mi RecyclerView no recicle algunos artículos
- Barra de herramientas Sugerencias de búsqueda
- Disposición de Android: cuándo utilizar la aplicación: vs android :?
- ViewGroup más ligero para contenedores
- Quitar diseño de programación
- Android: ¿Es posible usar string / enum en el selector drawable?
No tanto. Suena como su caso particular podría beneficiarse de un ListView de algún tipo y un adaptador (ver recursos como este para información). Si no, entonces un LayoutInflater es la mejor respuesta, ya que hace exactamente lo que quiere. La adquisición de uno puede utilizarlo para "inflar" cualquier vista que haya definido en sus archivos de diseño XML y hacer lo que quiera con él.
Aquí hay una gran discusión del inflado.
Usted puede hacer una copia de su inflador con un nuevo contexto. Layout Inflater – Desarrolladores de Android
- Cargar imagen de compresión en un servidor mediante retroadaptación
- Android Mobile Backend Starter falla con 404 no encontrados … algunas veces