当前位置:主页 > 移动开发 > Android代码 >

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

时间:2021-01-26 15:25:58 | 栏目:Android代码 | 点击:

在 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; 
     
  } 
} 

您可能感兴趣的文章:

相关文章