捕获帧布局有这个问题

时间:2017-06-28 12:49:47

标签: android caching layout scale capture

这是我的xml文件:

    <RelativeLayout
    android:id="@+id/relativeLayoutTemplateMain"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/LinearLayouttools"
    android:layout_above="@+id/lltexttools"
    android:layout_gravity="center">

    <FrameLayout
        android:id="@+id/frame"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:layout_centerInParent="true">

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:scaleType="centerInside" />

    </FrameLayout>

</RelativeLayout>

我使用以下代码捕获framelayout:

fOut = new FileOutputStream(file);
framelayout.setDrawingCacheEnabled(true);
Bitmap bitmap = framelayout.getDrawingCache();
bitmap.compress(Bitmap.CompressFormat.jpeg, 100, fOut);
fOut.flush();
fOut.close();

但周围的图片是黑色的:

http://uupload.ir/files/z8cv_smsbaaz.ir_4.jpg

当我设置scaleType =“FitXY”时:

<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="FitXY"/>

图像比例(我不想要比例图像) 我怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法创建Bitmap视图。

$arr = explode("\n", $string);
foreach ($arr as $item) {
    $set = explode(" by ", $item);
    $result[] = array_combine(["title", "artist"], $set);
}
var_dump($result);

Converting a view to Bitmap without displaying it in Android?