软件编程
位置:首页>> 软件编程>> Android编程>> Android使用控件ImageView加载图片的方法

Android使用控件ImageView加载图片的方法

作者:lijiao  发布时间:2022-11-22 03:52:31 

标签:Android,ImageView,加载图片

在 Android 加载图片一般使用 ImageView,这里简单记录一下这个控件的使用方法。

最简单就是在 xml 里直接使用 ImageView 标签:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>  
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/welcome"
/>
</LinearLayout>

如果不想在 xml 里,也可以在程序里面加载。比如:


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);

ImageView welcome = new ImageView(this);
welcome.setImageResource(R.drawable.welcome);
setContentView(welcome);
}

构建ImageView对象时传递了一个this参数,表示与当前上下文(context)关联。这个Context由系统处理,它提供诸如资源解析、获取访问数据库和偏好等服务。因为Activity类继承自Context,且因为你的HelloWorld类是Activity的子类,它也是一个Context。因此,你可以传递this作为你的Context给ImageView引用。

Android ImageView如何加载网络图片资源,代码也分享给大家:


package com.android.antking.imageview;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends Activity {
 //定义一个图片显示控件
 private ImageView imageView;
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   //图片资源
   String url = "/orignal/89429f6dhb99b4903ebcf&690";
   //得到可用的图片
   Bitmap bitmap = getHttpBitmap(url);
   imageView = (ImageView)this.findViewById(R.id.imageViewId);
   //显示
   imageView.setImageBitmap(bitmap);

}
 /**
  * 获取网落图片资源
  * @param url
  * @return
  */
 public static Bitmap getHttpBitmap(String url){
   URL myFileURL;
   Bitmap bitmap=null;
   try{
     myFileURL = new URL(url);
     //获得连接
     HttpURLConnection conn=(HttpURLConnection)myFileURL.openConnection();
     //设置超时时间为6000毫秒,conn.setConnectionTiem(0);表示没有时间限制
     conn.setConnectTimeout(6000);
     //连接设置获得数据流
     conn.setDoInput(true);
     //不使用缓存
     conn.setUseCaches(false);
     //这句可有可无,没有影响
     //conn.connect();
     //得到数据流
     InputStream is = conn.getInputStream();
     //解析得到图片
     bitmap = BitmapFactory.decodeStream(is);
     //关闭数据流
     is.close();
   }catch(Exception e){
     e.printStackTrace();
   }

return bitmap;

}
}
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com