您可以使用 android studio 来执行此操作,
这是如何实现它的步骤。
你可以参考this link to使用它
1- 打开 Android Studio 并创建一个新项目并为其命名,在我们的例子中我们将其命名为 (ImageZoom),选择 API 16 作为最低 SDK,然后选择一个空白活动,点击“完成”并等待 Android Studio 构建您的项目。
2- 打开 build.gradle (Module:app) 并添加 PhotoView 库。
编译'com.github.chrisbanes:PhotoView:2.1.3'
3- 现在你需要打开 build.gradle (Project) 并且你需要在 (allprojects) 标签内添加这行 maven { url "https://jitpack.io" }。
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
4- 通过单击 (Sync Now) 同步项目。
android studio 同步 gradle 文件
Android Studio 同步 gradle 文件。 (大预览)
5- 打开 activity_main.xml 文件,在这里您将添加 3 个视图:
- 将保存图片的 Android ImageView。
– 图片标题和描述的 Android TextView。
6-
添加 Android ImageView 并确保您已在项目可绘制文件夹中添加要用于 ImageView 的图像。
7-:
ImageView
android:id="@+id/ivIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/nature" />
8- 在 ImageView 上方添加一些边距并将其放在中心。
<ImageView
android:id="@+id/ivIcon"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
app:srcCompat="@drawable/nature" />
9- 当您在 Android Studio 预览窗口中点击 ImageView 时,您将看到 ImageView 顶部和底部的空白区域。您可以使用 android:scaleType="centerCrop" 来解决这个问题,它允许图像填充剩余空间。
<ImageView
android:id="@+id/ivIcon"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:scaleType="centerCrop"
app:srcCompat="@drawable/nature" />
10- 当您在 Android Studio 预览窗口中点击 ImageView 时,您将看到 ImageView 顶部和底部的空白区域。您可以使用 android:scaleType="centerCrop" 来解决这个问题,它允许图像填充剩余空间。
<ImageView
android:id="@+id/ivIcon"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:scaleType="centerCrop"
app:srcCompat="@drawable/nature" />
当您在 Android Studio 预览窗口中点击 ImageView 时,您将看到 ImageView 顶部和底部的空白区域。您可以使用 android:scaleType="centerCrop" 来解决这个问题,它允许图像填充剩余空间。
<ImageView
android:id="@+id/ivIcon"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:scaleType="centerCrop"
app:srcCompat="@drawable/nature" />
添加将保存图片名称的Android TextView,此TextView将放置在ImageView(ivIcon)下方的中心,从顶部添加一些边距,尝试将文本大小增加到(20sp)并将文本样式更改为(斜体和粗体)。
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_below="@+id/ivIcon"
android:text="@string/flower_name"
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:textStyle="italic|bold" />
11- 现在你为这个布局添加最终的 TextView,它将包含关于图片的描述,这个 TextView 将放在 (tvName) 下方,尝试将文本大小增加到 (16sp) 并且不要忘记添加一些顶部的边距,使其看起来不会与 (tvName) TextView 一起关闭。
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tvName"
android:textSize="16sp"
android:layout_marginTop="5dp"
android:text="@string/flower_description" />
12- 现在你已经完成了activity_main.xml文件的工作,接下来你需要打开MainActivity.java文件并初始化Android ImageView和Android AlertDialog。
13- 初始化 ImageView (ivIcon)。
ImageView mIcon = findViewById(R.id.ivIcon);
14- 接下来您需要使用 RoundedBitmapDrawable 和 Bitmap 将 ImageView (ivIcon) 的形状更改为圆形。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.nature);
RoundedBitmapDrawable mDrawable =
RoundedBitmapDrawableFactory.create(getResources(), bitmap);
mDrawable.setCircular(true);
mIcon.setImageDrawable(mDrawable);
15- 构建并运行应用以查看进度。
16- 现在您需要在 Android AlertDialog 上工作,当您尝试点击 ImageView (ivIcon) 时,AlertDialog 将出现在屏幕上。在开始之前,您首先需要创建另一个布局文件,稍后您将在 AlertDialog 中使用它
16- 现在您需要在 Android AlertDialog 上工作,当您尝试点击 ImageView (ivIcon) 时,AlertDialog 将出现在屏幕上。在开始之前,您首先需要创建另一个布局文件,稍后您将在 AlertDialog 中使用它。
17- 创建一个新的布局文件并将其命名为(dialog_custom_layout.xml),该文件将有一个匹配屏幕宽度和高度的 PhotoView。
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
18- 现在回到 MainActivity.java 文件,为了能够点击 ImageView,您需要使用 setOnClickListener 并且在 onClick 中您将创建 AlertDialog。
mIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder mBuilder = new
AlertDialog.Builder(MainActivity.this);
View mView =
getLayoutInflater().inflate(R.layout.dialog_custom_layout,
null);
PhotoView photoView = mView.findViewById(R.id.imageView);
photoView.setImageResource(R.drawable.nature);
mBuilder.setView(mView);
AlertDialog mDialog = mBuilder.create();
mDialog.show();
}
});
19- 构建并运行应用程序以测试 Android 捏合和缩放功能。
20- 嗯,图片似乎没有填满整个 AlertDialog!您实际上可以使用 android:scaleType="centerCrop" 来修复它。
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
21- 构建并运行应用程序以查看结果。
22- 太好了,现在您有了一个功能齐全的应用,带有捏缩放 Android 功能?