我想在我的应用程序上显示图像预览:当用户在列表视图中按下一个项目时(每个项目都是存储在 sd 卡中的图像的路径)图像预览出现,在可用空间中拉伸,就像在这张图片中(图像空间是黑色的,底层应用程序,仍然部分可见,是灰色的):
当用户按下后图像消失。我想为图像显示做一个活动,但我不知道如何获得图片中的结果......
编辑:
好的,这是我到目前为止所做的:
1)清单:
<activity
android:name=".ImageDialogActivity" android:theme="@android:style/Theme.Dialog">
</activity>
2)布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
3)活动onCreate方法:
super.onCreate(savedInstanceState);
setContentView(R.layout.image_preview);
String filepath = getIntent().getStringExtra("image_filepath");
((ImageView)findViewById(R.id.imageView)).setImageBitmap(getBitmap(filepath));
其中 getBitmap 是一个私有方法,它为我提供来自文件路径的位图。
问题是我无法控制对话框尺寸:对话框的宽度和高度似乎取决于包含的图像...更不用说上/右/左/下边距了...
已解决(也许):我以这种方式修改了布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="200dp"
android:layout_height="200dp"
>
<ImageView android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="centerInside"/>
将宽度/高度设置为允许获得效果的正方形......我的问题是:它适用于每部手机吗?还是只适合我的?