【发布时间】:2014-07-24 09:58:09
【问题描述】:
我有一个应用程序,里面有很多小图像。为了提供“放大”功能,我想打开一个对话框(实现为带有对话框主题的Activity),其中只包含一个带有所选图片的 ImageView。
图像/对话框应尽可能大地显示(即与屏幕尺寸成比例),但也应尽可能大。这意味着对于横向图片,对话框也应该是横向格式,而不是填满整个屏幕(顶部/底部有黑条)。 基本上我希望对话框与 ImageView 和 ImageView 一样大(同时考虑包含图像的纵横比)。
有没有办法做到这一点?
请注意,显示的图像可能比可用屏幕空间小很多,但在这种情况下应该按比例放大。我无法提供不同分辨率/屏幕尺寸的图片,因为它是用户生成的内容。
我当前的对话框布局文件(适用于大于设备显示的图片,但不会放大较小的图片):
<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/image_overlay" <!-- semi transparent background -->
android:gravity="center"
android:foregroundGravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:scaleType="centerInside"
android:layout_margin="8dp"/>
</FrameLayout>
【问题讨论】: