从图像视图获取图像路径?
getting an image path from a imageview?
我有一个 ImageView
,我想获取图像的路径并添加一个 String
。我想这样做是因为我需要像默认图像一样将它发送到我的网络服务
我该怎么做?
ImageView
<ImageView
android:id="@+id/ivPerfil"
android:padding="5dp"
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/icon_usuario"
android:scaleType="fitXY"
/>
获取路径
ivPerfil = (ImageView)findViewById(R.id.ivPerfil);
Drawable img = getResources().getDrawable(R.drawable.icon_usuario);
String pathImage = img.toString();
你可以试试这个:
Uri path = Uri.parse("android.resource://your.package.name/" + R.drawable.icon_usuario);
String imgPath = path.toString();
"your.package.name" 是您的包裹的名称(即:com.example.mypackage)
您可以像这样在 android 中使用此路径:
ivPerfil = (ImageView)findViewById(R.id.ivPerfil);
ivPerfil.setImageURI(path);
您无法直接获取 ImageView
引用的图像的路径,但有一些方法可以绕过它。
由于您在设置图片时清楚地知道图像的路径(因为您无法在不知道的情况下设置它),因此您可以选择设置 View's
标签(技术上可以可以是任何 Object
).
在这种情况下,它只是您要存储的 String
。
假设您有:
Uri imageFilePath = Uri.parse("some/path/to/file.png");
现在,在 ImageView
上设置图像 Uri 时,在后面添加此内容以设置其标签:
imageView.setTag(imageFilePath.toString());
然后,当您真正要将它发送到服务器时,只需调用 ImageView
上的 getTag()
方法,您就会获得正确的文件位置。
例如
String path = imageView.getTag().toString();
不过,如果图像来自您的资产,您将不得不从资源构建适当的路径(请参阅本页上的 Miselking 的回答以了解如何执行此操作)。
我有一个 ImageView
,我想获取图像的路径并添加一个 String
。我想这样做是因为我需要像默认图像一样将它发送到我的网络服务
我该怎么做?
ImageView
<ImageView
android:id="@+id/ivPerfil"
android:padding="5dp"
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/icon_usuario"
android:scaleType="fitXY"
/>
获取路径
ivPerfil = (ImageView)findViewById(R.id.ivPerfil);
Drawable img = getResources().getDrawable(R.drawable.icon_usuario);
String pathImage = img.toString();
你可以试试这个:
Uri path = Uri.parse("android.resource://your.package.name/" + R.drawable.icon_usuario);
String imgPath = path.toString();
"your.package.name" 是您的包裹的名称(即:com.example.mypackage)
您可以像这样在 android 中使用此路径:
ivPerfil = (ImageView)findViewById(R.id.ivPerfil);
ivPerfil.setImageURI(path);
您无法直接获取 ImageView
引用的图像的路径,但有一些方法可以绕过它。
由于您在设置图片时清楚地知道图像的路径(因为您无法在不知道的情况下设置它),因此您可以选择设置 View's
标签(技术上可以可以是任何 Object
).
在这种情况下,它只是您要存储的 String
。
假设您有:
Uri imageFilePath = Uri.parse("some/path/to/file.png");
现在,在 ImageView
上设置图像 Uri 时,在后面添加此内容以设置其标签:
imageView.setTag(imageFilePath.toString());
然后,当您真正要将它发送到服务器时,只需调用 ImageView
上的 getTag()
方法,您就会获得正确的文件位置。
例如
String path = imageView.getTag().toString();
不过,如果图像来自您的资产,您将不得不从资源构建适当的路径(请参阅本页上的 Miselking 的回答以了解如何执行此操作)。