Имам FrameLayout, който се състои от няколко изгледа на изображение и един EditText. Запазвам това оформление като изображение в паметта (външна). Първият път, когато задам изображенията в изображенията, всичко върви добре, т.е. точното изображение се записва (същото като показването на екрана), но когато след запазване за първи път, ако променя нещо (текст, изображение), то се показва правилно на екрана, но в запазено изображение показва по-ранно изображение (първо изображение).
XML на оформлението:
<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>
Кодът, който го променя в растерно изображение, е:
Bitmap bm = null;
FrameLayout savedImage = null;
savedImage = (FrameLayout)findViewById(R.id.imageWithoutFrame);
savedImage.setDrawingCacheEnabled(true);
savedImage.buildDrawingCache();
bm = savedImage.getDrawingCache();
Използвах този bm за спестяване.
Благодаря за помощта.