在我的应用中,我在单个活动中获得了三个自定义视图。所以现在我需要将它保存为单个jpeg。如何实现这一目标。我知道如何保存一个或两个位图,但这次是单个活动中的三个自定义视图。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<com.wglxy.example.pinchzoompan.PanZoomView
android:id="@+id/zoomview1"
android:layout_width="100dp"
android:layout_height="700dp"
/>
<com.wglxy.example.pinchzoompan.PanZoomView1
android:id="@+id/zoomview2"
android:layout_width="100dp"
android:layout_height="700dp"
/>
<com.wglxy.example.pinchzoompan.PanZoomView2
android:id="@+id/zoomview3"
android:layout_width="100dp"
android:layout_height="700dp"
/>
</LinearLayout>
</FrameLayout>
每个视图都有一张图片,现在我需要将其保存为单个jpeg。任何人都可以向我提出一些想法。
答案 0 :(得分:0)
使用layoutinflater将xml扩展为单个视图,然后创建该视图的位图。
答案 1 :(得分:0)
我将我的三个视图保存为使用此代码的单个jpeg文件
layout = (LinearLayout) findViewById(R.id.viewLayout);
layout.setDrawingCacheEnabled(true);
layout.buildDrawingCache();
viewbitmap = layout.getDrawingCache(true);
然后
try {
viewbitmap.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(f));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 2 :(得分:0)
将所有子项放在父布局中,然后将setDrwaingCache设置为该父视图的true,之后只要您需要在该父视图中获取或保存所有子项,就可以为该父项获取绘图。