如何将视图转换为位图?

我在FrameLayout有两个视图( TextviewImageView ),我想用文本保存图像。 为此,我将视图转换为位图。

我的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> 

如何将视图转换成位图

 FrameLayout view = (FrameLayout)findViewById(R.id.framelayout); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bm = view.getDrawingCache(); 

我曾经使用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); 

嗨,你可以使用下面的代码片段获得一个视图的位图

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

你为什么不写你的扩展ImageView的类,并覆盖onDraw的方法,并放在那里你的图像和文字,这更容易