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參數(shù),表示與當前上下文(context)關聯(lián)。這個Context由系統(tǒng)處理,它提供諸如資源解析、獲取訪問數(shù)據(jù)庫和偏好等服務。因為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);
//連接設置獲得數(shù)據(jù)流
conn.setDoInput(true);
//不使用緩存
conn.setUseCaches(false);
//這句可有可無,沒有影響
//conn.connect();
//得到數(shù)據(jù)流
InputStream is = conn.getInputStream();
//解析得到圖片
bitmap = BitmapFactory.decodeStream(is);
//關閉數(shù)據(jù)流
is.close();
}catch(Exception e){
e.printStackTrace();
}
return bitmap;
}
}
以上就是本文的全部內容,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解android項目由Gradle 2.2 切換到 3.0的坑
本篇文章主要介紹了詳解android項目由Gradle 2.2 切換到 3.0的坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
Android fragment實現(xiàn)按鈕點擊事件的示例講解
下面小編就為大家分享一篇Android fragment實現(xiàn)按鈕點擊事件的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
DCloud的native.js調用系統(tǒng)分享實例Android版代碼
本文為大家分享了DCloud的native.js如何調用系統(tǒng)分享功能Android版的實例代碼,直接拿來就用2018-09-09

