如何用Android用ImageView显示本地和网上的图片说明

合集下载

Android基础篇之在ListView中显示网络图片

Android基础篇之在ListView中显示网络图片

Android基础篇之在ListView中显示网络图片大家知道ImageView 类虽然有一个setImageUri 方法,但不能直接接受一个由网络地址生成的uri 作为参数从而显示图片,我们只好使用其 setImageBitmap 方法,如view plaincopy to clipboardprint?1.BitmapmBitmap=null;2.3.URLurl=new URL(imageUrl);4.5.HttpURLConnectionconn=(HttpURLConnection)url.openConnection();6.7.InputStream is=conn.getInputStream();8.9.mBitmap=BitmapFactory.decodeStream(is);在SimpleAdapter中需要一个数据源,用来存储数据的,在显示图片时我们要用HashMap<>存储一个Bitmap;但仅存取了Bitmap时在ListView中是无法显示图片的,我们需要对SimpleAdapter进行处理 。

如下是对SimpleAdaptr处理的主要代码:view plaincopy to clipboardprint?1.adapter.setViewBinder(new ViewBinder(){2.3.publicboolean setViewValue(Viewview,Objectdata,4.StringtextRepresentation){5.//判断是否为我们要处理的对象6.if(view instanceof ImageView&&data instanceof Bitmap){7.ImageViewiv=(ImageView)view;8.9.iv.setImageBitmap((Bitmap)data);10.returntrue;11.}else12.returnfalse;13.}14.});看API对Android.widget.SimpleAdapter.ViewBinder的解释:This class can be used by external clients of SimpleAdapter to bind values to views. You should use this class to bind values to views that are not directly supported by SimpleAdapter or to change the way binding occurs for views supported by SimpleAdapter.你可以使用该类来处理SimpleAdapter不直接支持的数据;下面来看看完整的代码:main.xml 中就是一个ListView , list_item.xml 是为ListView中控件提供布局 ,就是一个ImageView。

如何在android程序中显示图片

如何在android程序中显示图片

我们做Android 程序的时候,有时候需要显示图片在界面上,这里我们将实现一个将图片展示到手机屏幕,并让其不停的浮动的效果!首先我们要先准备一张图片,在这里我准备了一张图片,如下:将此图片放到文件夹"res->drawable-*dpi"下,记得,三个文件夹都要放,因为系统会根据不同的分辨率去取不同的图片,如果有的没放,在某些分辨率下,会找不到资源。

将此图片重命名为“pic.png”,在R.java里的drawable类里会生成一个pic的常量。

图片要显示,就是要容器可以让其显示,因为所有的Android 的UI组件都是继承自View,View也实现了Drawable接口,所以在此,我们也重新定义一个View让其用来显示我们的这张图片,并让这张图片浮动。

我们创建一个在包“org.leo.bitmap”下的,类名为“MovingPictureView”的类,该类继承自android.view.View。

此类目前代码大致如下:public class MovingPictureView extends View {public MovingPictureView(Context context) {super(context);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);}}我们要重载他的“onDraw”方法,这个方法就是Android框架展现View的时候用来绘制显示内容那个的方法。

在此我们将他的所有方法体都删除掉(上面代码红色部分删掉),完全将其重写。

首先我们要创建一个图片对象,在Android里,所有位图图片都是使用Bitmap类来封装的,我们就先声明一个代表我们刚才图片的一个Bitmap对象,可通过以下方式声明:Bitmap bitmap =BitmapFactory.decodeResource(getResources(), R.drawable.pic);其中的“getResources()”方法,是有View提供的,可以根据此方法获得我们所有的资源,将来有机会再细说!有了bitmap对象,下一步就是将图片画到我们自己的View上了,看上面的“onDraw”方法,其中的参数是“Canvas”对象,其实就是提供了一个画板,有了画板我们就能画任何我们想画的东西了。

imageview的url用法

imageview的url用法

imageview的url用法在Android开发中,ImageView可以通过设置URL来显示网络上的图片。

这通常涉及到以下步骤:1. 首先,确保你的ImageView有一个ID,以便在代码中引用它。

例如,在XML布局文件中,你可以这样定义一个ImageView:```xml<ImageViewandroid:id="+id/my_image_view"android:layout_width="wrap_content"android:layout_height="wrap_content" />```2. 在你的Activity或Fragment中,使用findViewById方法来获取对ImageView的引用:```javaImageView imageView = findViewById(_image_view);```3. 创建一个URL对象,指向你想要加载的图片。

这可以通过字符串字面量或通过URL类构造器来完成:```javaString imageUrl = "URL url = new URL(imageUrl);```4. 使用Glide或Picasso等图片加载库来加载图片。

这些库可以处理网络请求和图片缓存,使图片加载更加方便和高效。

以下是一个使用Glide加载图片的示例:```java(this).load(url).into(imageView);```在上述代码中,“this”指的是当前的Activity或Fragment实例。

调用Glide的load方法并传入URL,然后调用into方法将ImageView作为参数传递。

Glide会自动处理图片的下载、解码和显示。

请注意,网络请求应该在后台线程中执行,以避免阻塞主线程并导致应用程序无响应。

如果你在主线程中执行网络请求,可能会遇到异常。

android_imageview_的centerinside_的实现原理_概述及解释说明

android_imageview_的centerinside_的实现原理_概述及解释说明

android imageview 的centerinside 的实现原理概述及解释说明1. 引言1.1 概述本文将详细介绍Android中的ImageView控件的centerInside属性以及其实现原理。

ImageView作为一个常用的界面元素,用于显示图片资源。

其中,centerInside是ImageView的一种缩放类型,通过该属性可以使图片按比例缩放到View内部,并保持图像完整展示。

1.2 文章结构本文共分为五个部分,每个部分都有详细的内容和说明。

文章结构如下:第一部分为引言部分。

我们将在这里概述文章的目的和结构。

第二部分将重点说明ImageView控件的centerInside属性的实现原理。

首先介绍ImageView控件,并解释其作用和效果;然后深入剖析centerInside属性的实现原理。

第三部分将详细解析centerInside属性的具体实现过程。

包括图片尺寸适应策略、图像平移和缩放算法的分析,并通过实例演示和代码解释来加深理解。

第四部分将进行样例应用和使用场景的分析。

我们将展示不同情况下centerInside属性的效果,并对其使用场景进行讨论;最后,推荐最佳实践方法供读者参考。

最后一部分是结论与总结。

首先总结了ImageView中centerInside工作原理,然后展望了应用与拓展前景,并提出了预期的发展方向和改进建议。

1.3 目的本文的主要目的是帮助读者了解Android中ImageView控件的centerInside 属性的实现原理。

通过深入分析,让读者能够清晰地理解这一属性在图片尺寸适应、平移和缩放等方面的工作原理。

同时,我们还将介绍其在不同使用场景下的效果展示,并提供最佳实践方法,以便读者在实际开发中能够更好地使用该属性。

2.imageview 的centerinside 的实现原理2.1 imageview 控件介绍Android平台上的ImageView是一个常用的控件,用于显示图片。

androidphotoview用法

androidphotoview用法

androidphotoview用法PhotoView是一个开源项目,用于在Android上实现图片缩放和拖动的功能。

它是ImageView的一个子类,在缩放和拖动方面提供了更多的灵活性和功能。

下面将介绍PhotoView的用法以及一些常见的用例。

首先,要开始使用PhotoView,需要将其添加到您的项目中。

可以通过添加以下依赖项将其添加到您的build.gradle文件中:``````PhotoView的使用方式与普通的ImageView非常相似。

您可以在布局文件中像这样声明PhotoView:```xml```然后,您可以在代码中找到该视图并使用它。

您可以通过findViewById或在Kotlin中使用视图绑定来获取对视图的引用。

```java// 在Java中查找PhotoViewPhotoView photoView = findViewById(R.id.photo_view);// 在Kotlin中使用视图绑定来查找PhotoViewval photoView: PhotoView = findViewById(R.id.photo_view)```接下来,您可以开始使用PhotoView的功能,例如缩放和拖动。

以下是一些常见的用例:1.缩放图片:PhotoView允许用户通过手势缩放图片。

默认情况下,用户可以使用双指捏放手势来缩放图片。

您也可以通过设置setZoomable方法来禁用或启用该功能。

```java// 在Java中禁用缩放功能photoView.setZoomable(false);// 在Kotlin中禁用缩放功能photoView.setZoomable(false)```2.设置加载的图片:您可以通过调用setImageDrawable或setImageResource方法来设置要显示的图片。

这对于在代码中动态更改要显示的图片非常有用。

```java//设置加载的图片photoView.setImageDrawable(getResources(.getDrawable(R.drawa ble.my_image));// 在Kotlin中设置加载的图片photoView.setImageDrawable(getDrawable(R.drawable.my_image)) ```3.添加监听器:您可以为PhotoView添加一个OnMatrixChangedListener监听器来监听图片缩放和拖动的变化。

Android 3.1 r1 API中文文档(6)——ImageView

Android 3.1 r1 API中文文档(6)——ImageView

Android 3.1 r1 API中文文档(6)——ImageView前言本章内容是android.widget.ImageView,为早前发布版本的完整版,版本为Android 3.1 r1,翻译来自"cnmahj"和"农民伯伯",欢迎大家访问"cnmahj"的博客:,再次感谢"/cnmahj"!欢迎你一起参与Android的中文翻译,联系我over140@。

声明欢迎转载,但请保留文章原始出处:)博客园:/Android中文翻译组:http://goo.gl/6vJQlImageView译者署名:cnmahj、农民伯伯译者博客:/cnmahj版本:Android 3.1 r1结构继承关系public class View.OnClickListner extends Viewng.Objectandroid.view.Viewandroid.widget.ImageView直接子类ImageButton, QuickContactBadge间接子类ZoomButton类概述显示任意图像,例如图标。

ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。

嵌套类enum ImageView.ScaleType将图片边界缩放,以适应视图边界时的可选项XML属性公共方法public final void clearColorFilter ()(译者注:清除颜色过滤,参见这里)public int getBaseline ()返回部件顶端到文本基线的偏移量。

如果小部件不支持基线对齐,该方法返回-1。

返回值小部件顶端到文本基线的偏移量;或者是-1 当小部件不支持基线对齐时。

public boolean getBaselineAlignBottom ()返回当前视图基线是否将考虑视图的底部。

ImageView基本用法

ImageView基本用法

ImageView基本⽤法
1、background通常指的都是背景,⽽src指的是内容。

2、当使⽤src填⼊图⽚时,是按照图⽚⼤⼩直接填充,并不会进⾏拉伸。

3、scaleType缩放类型设置:
fitXY:对图像的横向与纵向进⾏独⽴缩放,使得该图⽚完全适应ImageView,但是图⽚的横纵⽐可能会发⽣改变fitStart:保持纵横⽐缩放图⽚,知道较长的边与Image的编程相等,缩放完成后将图⽚放在ImageView的左上⾓fitCenter:同上,缩放后放于中间;
fitEnd:同上,缩放后放于右下⾓;
center:保持原图的⼤⼩,显⽰在ImageView的中⼼。

当原图的size⼤于ImageView的size,超过部分裁剪处理。

centerCrop:保持横纵⽐缩放图⽚,知道完全覆盖ImageView,可能会出现图⽚的显⽰不完全
centerInside:保持横纵⽐缩放图⽚,直到ImageView能够完全地显⽰图⽚
matrix:默认值,不改变原图的⼤⼩,从ImageView的左上⾓开始绘制原图,原图超过ImageView的部分作裁剪处理ps:⼀般情况下可以⽤centerInside来设置缩放类型。

4、例⼦:圆形Imageview⽣成⽅法和从相册中选择图⽚并显⽰。

————————————————。

android调用系统摄像头拍照,并把照片保存到本地,然后显示在imageview

android调用系统摄像头拍照,并把照片保存到本地,然后显示在imageview

Android调用系统摄像头拍照,并把照片保存到本地,然后显示在Imageviewimg=(ImageView)findView ById(R.id.img);take_picture=(Button)findViewById(R.id.take_picture);take_picture.setOnClickListener(new V iew.OnClickListener() {@Overridepublic void onClick(V iew v) {// TODO Auto-generated method stubIntent intent = new Intent( android.media.action.IMAGE_CAPTUREstartActivityForResult(intent,Activity.DEFAULT_KEYS_DIALER);});protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == Activity.RESULT_OK) {String sdStatus = Environment.getExternalStorageState();if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用return;Bundle bundle = data.getExtras();Bitmap bitmap = (Bitmap) bundle.get( data // 获取相机返回的数据,并转换为Bitmap图片格式FileOutputStream b = null;File file = new File( /sdcard/myImage/file.mkdirs();// 创建文件夹,名称为myimage//照片的命名,目标文件夹下,以当前时间数字串为名称,即可确保每张照片名称不相同。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何用Android用ImageView显示本地和网上
的图片说明
Android:ImageView如何显示网络图片
本文地址:/programmar/blog/item/79483ecb2ac75cf552664fd3.html在
Android中显示一张网络图片其实是超级简单的,下面就一个非常简单的例子:
Step1:
1、创建你的Activity,本例中以ViewWebImageActivity说明;
2、ViewWebImageActivity中的代码如下:
String imageUrl = "/baidu/pic/item/7d8aebfebf3f9e125c6008d8.jpg"; //这就是你需要显示的网络图片---网上随便找的
Bitmap bmImg;
ImageView imView;
Button button1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.main);
imView = (ImageView) findViewById(R.id.imview);
imView.setImageBitmap(returnBitMap(imageUrl));
}
public Bitmap returnBitMap(String url) {
URL myFileUrl = null;
Bitmap bitmap = null;
try {
myFileUrl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
3、其中,returnBitMap(String url) 方法就是具体实现网络图片转换成bitmap。

Step2:
1、修改你的main.xml文件如下:
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/imview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
Step3:
1、在你的AndroidManifest.xml文件的节点上面添加,这是由于Android有很多的权限限制,否则图片是不能在你的模拟器上显示的。

如此一来,你的目的就达到了,简单吧,那还不赶紧尝试!
附加:图片异步加载:/topic/685986。

相关文档
最新文档