Подтвердить что ты не робот

Как преобразовать виды в растровые изображения?

У меня есть два вида (Textview и ImageView) в FrameLayout, я хочу сохранить изображение с текстом. Для этого я скрываю представление в растровое изображение.

Мой xml:

<FrameLayout 
     android:id="@+id/framelayout"
     android:layout_marginTop="30dip"
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent">

     <ImageView 
          android:id="@+id/ImageView01"
          android:layout_height="wrap_content" 
          android:layout_width="wrap_content"/>

    <TextView android:id="@+id/text_view"
          android:layout_marginTop="30dip"
          android:layout_width="wrap_content" 
          android:maxLines="20"
          android:scrollbars="vertical"
          android:layout_height="wrap_content"/>

</FrameLayout>
4b9b3361

Ответ 1

Как преобразовать вид в растровое изображение

FrameLayout view = (FrameLayout)findViewById(R.id.framelayout);

view.setDrawingCacheEnabled(true);

view.buildDrawingCache();

Bitmap bm = view.getDrawingCache();

Ответ 2

Я использовал метод buildDrawingCache() для получения растрового изображения моего макета, но У меня возникли проблемы с ним, когда представление было большим. Теперь я использую следующий метод:

FrameLayout view = (FrameLayout)findViewById(R.id.framelayout);
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);

Ответ 3

Привет, вы можете получить растровое изображение с помощью следующего фрагмента

mView.setDrawingCacheEnabled(true);
mView.getDrawingCache();

Ответ 4

почему бы вам не написать свой класс, который расширяет ImageView и переопределяет метод onDraw и помещает туда ваше изображение и текст, проще?