在scrollview中设置为Image时,位图会被破坏

时间:2018-03-26 11:28:17

标签: android android-layout scrollview

Scrollable Imageview,Image将位于framelayout的scrollview中,该布局将具有固定大小,并且图像将会滚动。

因此,当运行时改变framelayout的大小,影响位图并从底部获取裁剪并改变framelayout的大小以及图像视图大小。

只有位图出现问题

Layout.xml

<FrameLayout
    android:id="@+id/frameLayout_image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/grid">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:scrollbars="none">

        <ImageView
            android:id="@+id/image_picture"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </ScrollView>
</FrameLayout>

以编程方式更改framelayout,如

private void changeSizeOfImage(int width,int height){
    mImageViewImage.destroyDrawingCache();
    mImageViewImage.buildDrawingCache();
    mFrameLayoutImageMain.setLayoutParams(new LinearLayout.LayoutParams(width, height));

        if (bitmap != null) {
            mImageViewImage.setImageBitmap(null);
            mImageViewImage.setImageBitmap(bitmap);
        }
    }
}

0 个答案:

没有答案