Java OnClickListener在其他意图/片段中全屏显示ImageView
我正在使用片段,我想在另一个视图或对话框中显示片段缩略图中的图像视图,或用于显示的内容:) 我想当我们点击ImageView时,会显示新的视图,当我们点击按钮时,会返回主片段 我已经实现了我的onClickListener,它可以工作,但是我不知道如何传递数据或者其他什么来全屏显示ImageView 以下是我的onClickListener代码:Java OnClickListener在其他意图/片段中全屏显示ImageView,java,android,android-fragments,android-activity,imageview,Java,Android,Android Fragments,Android Activity,Imageview,我正在使用片段,我想在另一个视图或对话框中显示片段缩略图中的图像视图,或用于显示的内容:) 我想当我们点击ImageView时,会显示新的视图,当我们点击按钮时,会返回主片段 我已经实现了我的onClickListener,它可以工作,但是我不知道如何传递数据或者其他什么来全屏显示ImageView 以下是我的onClickListener代码: mImageReport.setOnClickListener(new View.OnClickListener() { @O
mImageReport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (zoomOut) {
zoomOut = false;
} else {
zoomOut = true;
}
}
});
无需创建显示全屏图像的新窗口。您可以使用android默认的gallery图像查看器。只需将完整图像路径或图像URI设置为“mImageReport”作为标记,在其onClick中您可以检索它。使用以下代码行将全屏图像显示为
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("content://media/external/images/media/16"))); /** replace with your own uri */
您可以将全屏对话框设置为显示图像,如下所示
final Dialog nagDialog = new Dialog(this,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
nagDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
nagDialog.setCancelable(false);
nagDialog.setContentView(R.layout.preview_image);
Button btnClose = (Button)nagDialog.findViewById(R.id.btnIvClose);
ImageView ivPreview = (ImageView)nagDialog.findViewById(R.id.iv_preview_image);
ivPreview.setBackgroundDrawable(dd);
btnClose.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
nagDialog.dismiss();
}
});
nagDialog.show();
仅包含图像视图和关闭按钮的布局的xml代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/iv_preview_image" />
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/close"
android:id="@+id/btnIvClose" android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />
只需使用不同的全屏布局,并将ImageView设置为match\u父级。并使视图在单击事件时可见和不可见。@Kunu我用布尔值更新了代码,现在我只需要知道如何设置不同的布局并将ImageView设置为match_parent。有什么好的理由吗?如果没有,我建议你试试这个。您可以使用Intent将图像转换为位图来传输图像,但这同样会占用大量内存,这是不可取的。@Kunu哦,是的,我必须关心内存。。。什么是保持安全内存和执行此类操作的最佳选择?是的,但我的mImageReport加载的是类似URL的,那么我如何在Uri.parse中传递数据?我的mImageReport使用mCurrentReportString.getUrlImages()加载我的url并显示它:UrlImageViewHelper.setUrlDrawable(mImageReport,mCurrentReportString.getUrlImages());我以为你想显示本地存储的全屏图像。那么您想以全屏模式加载远程图像吗?是的,这是可能的,但为此,您需要创建一个对话框或片段来处理此部分。最好创建单独的片段来处理显示全屏图像的这一部分。将图像url传递到此片段,您可以将其作为参数传递,并使用图像加载库在该片段中检索和加载。对于图像加载和将图像完整路径作为参数传递,请通过此感谢回复,为什么第一行的backgroundsActivity无法识别?最后一个问题:什么是ivPreview.setbackgrounddravable(dd)?因为它对我来说是红色的。。。