SmartImageView

来源:互联网 发布:log4cpp 网络传输 编辑:程序博客网 时间:2024/06/05 17:52

SmartImageView的设计初衷是来取代Android自带的ImgageView组件,另外它还提供了一些附加功能,如:
支持通过URL来加载图片;
支持从电话簿中加载图片;
异步加载图片;
图片被缓存在内存,以便下次快速加载显示;
SmartImageView类可以被很容易扩展成对其它资源的调用;

当我们在布局文件中使用ImageView时,可以直接写,那是因为这个类是包含在android.jar的包里面,使用自定义的时候,一定要加上包名;
获取SmartImageView对象,通过findViewById()方法,
调用SmartImageView对象的setImageUrl(url,fallbackResource,loadingResource)方法,参数:url是String类型的图片路径,另两个一个是下载失败时显示和正在下载时显示的int类型的资源id

这里写代码片activity_main:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="cn.edu.bzu.imagev.MainActivity">    <com.loopj.android.image.SmartImageView        android:id="@+id/iv"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_weight="1000" />    <EditText        android:id="@+id/et_path"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:hint="请输入图片路径"        android:singleLine="true"        android:text="http://b.hiphotos.baidu.com/image/w%3D310/sign=a439f5b24510b912bfc1f0fff3fdfcb5/83025aafa40f4bfb92c52c5d014f78f0f73618a5.jpg" />    <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="click"        android:text="浏览" /></LinearLayout>
这里写代码片MainActivity:package cn.edu.bzu.imagev;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import com.loopj.android.image.SmartImageView;public class MainActivity extends AppCompatActivity {    private EditText et_path;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_path=(EditText)findViewById(R.id.et_path);    }    public void click(View view){        SmartImageView iv=(SmartImageView)findViewById(R.id.iv);        iv.setImageUrl(et_path.getText().toString());    }}
这里写代码片AndroidManifest:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="cn.edu.bzu.imagev">    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">        <activity android:name=".MainActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application><uses-permission android:name="android.permission.INTERNET"/></manifest>

这里写图片描述

这里写图片描述

这里写图片描述