Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 捕获帧布局存在此问题_Android_Caching_Layout_Scale_Capture - Fatal编程技术网

Android 捕获帧布局存在此问题

Android 捕获帧布局存在此问题,android,caching,layout,scale,capture,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/lltext

这是我的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>
但图片的周围是黑色的:

当我设置scaleType=“FitXY”时:


图像缩放(我不想要缩放图像)
如何解决这个问题?

您可以使用下面的方法创建视图到位图

public static Bitmap loadBitmapFromView(View v) {
    Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);                
    Canvas c = new Canvas(b);
    v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
    v.draw(c);
    return b;
}

<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="FitXY"/>
public static Bitmap loadBitmapFromView(View v) {
    Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);                
    Canvas c = new Canvas(b);
    v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
    v.draw(c);
    return b;
}