Conversión de FrameLayout como mapa de bits
Tengo un FrameLayout que consta de algunas vistas de la imagen y un EditText. Estoy guardando este diseño como una imagen en la memoria (externa). La primera vez que pongo las imágenes en las vistas de imagen todo va bien, es decir, la imagen exacta se está guardando (lo mismo que mostrar en la pantalla), pero cuando después de guardar la primera vez si cambio cualquier cosa (texto, imagen) se muestra correctamente en la pantalla, Muestra una imagen anterior (primera imagen).
XML de diseño:
- Escala la imagen de fondo para ajustar el contenido del diseño
- Después de que el fragmento de cambio de configuración de backstack ahora está compartiendo el FrameLayout?
- Android: Establecer márgenes en un FrameLayout mediante programación, no funciona
- Android YouTubePlayer con superposición no autorizada encima del reproductor
- ¿Cómo ordenar android Z?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:id="@+id/imageWithoutFrame" android:layout_height="match_parent" android:layout_width="match_parent" android:layout_centerInParent="true" > <ImageView android:id="@+id/withoutFrame_background" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:src="@drawable/background" /> <ImageView android:id="@+id/withoutFrame_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:adjustViewBounds="true" android:layout_gravity="center" /> <EditText android:id="@+id/withoutFrame_editableText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="30dip" android:hint="Write here" android:maxLength="60" /> </FrameLayout> </RelativeLayout>
El código que lo cambia en bitmap es:
Bitmap bm = null; FrameLayout savedImage = null; savedImage = (FrameLayout)findViewById(R.id.imageWithoutFrame); savedImage.setDrawingCacheEnabled(true); savedImage.buildDrawingCache(); bm = savedImage.getDrawingCache();
Utilicé este bm para ahorrar.
Gracias por ayudar.
- Agregar y eliminar un TextView dinámicamente en Android
- Tratando de agregar un fragmento a mi contenedor de fragmentos FrameLayout
- Imagen de fondo de pantalla completa en una actividad
- Superposición de texto sobre imageview en framelayout mediante programación - Android
- Color del fondo del framelayout del remoteview
- ¿Cómo afectan su apariencia 'android: foreground' y 'android: foregroundGravity' en FrameLayout?
- Android: Borde personalizado para FrameLayout
- FrameLayout a RelativeLayout ClassCastException incluso si no hay FrameLayout usado
Para superar con este problema destruyo el cache de dibujo después de guardar la imagen.
savedImage.destroyDrawingCache();