上一篇文章已经讲解了本地图片如何完成photoView,其实写法就差了那么几行代码,为什么分开写博客,是因为想让大家更清晰的看到你们想要的知识。
今天就来一个网络请求图片的,这里网络请求我就不写原生代码了,直接上的picasso,如果你还是习惯使用universal image loader的,也不是不可。
直接代码了
package us.mifeng.guaju.photoview;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
import java.io.IOException;
import java.io.InputStream;
import butterknife.ButterKnife;
import butterknife.InjectView;
import uk.co.senab.photoview.PhotoViewAttacher;
public class MainActivity extends AppCompatActivity {
@InjectView(R.id.iv)
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
PhotoViewAttacher attacher = new PhotoViewAttacher(iv);
Picasso.with(this).load("https://guaju.github.io/lyh.jpg").into(iv);
}
}
是不是代码很简洁
接下来布局代码:
就一个图片
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="us.mifeng.guaju.photoview.MainActivity">
<ImageView
android:id="@+id/iv"
android:layout_centerInParent="true"
android:layout_width="300dp"
android:layout_height="300dp"
/>
</RelativeLayout>
记得权限加上:联网权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
最后看一下我的build-gradle中的依赖
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.github.chrisbanes.photoview:library:1.2.3'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.jakewharton:butterknife:5.1.1'
compile 'com.squareup.picasso:picasso:2.3.2'
}
ok,大家有任何疑问可以留言哦