ImageView和使用第三方库加载网络图片


 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="match_parent"
 3     android:layout_height="match_parent"
 4     android:padding="10dp">
 5 
 6     <ImageView
 7         android:id="@+id/imv_1"
 8         android:layout_width="400dp"
 9         android:layout_height="300dp"
10         android:background="#FF9900"
11         android:src="@drawable/xiuzhi"
12         android:scaleType="centerCrop"/>
13         
14         
15 
16     <ImageView
17         android:id="@+id/imv_2"
18         android:layout_width="400dp"
19         android:layout_height="300dp"
20         android:background="#FF9900"
21         android:scaleType="fitXY"
22         android:layout_below="@id/imv_1"
23         android:layout_marginTop="20dp"/>
24         
25 
26 RelativeLayout>

关于scaletype详细说明:

使用github作为第三方库加载网络图片,可以使用jar包导入到lib中,也可以使用gradle,我觉得比较方便:

同步后遇到了这样的问题:

此时需要在settingsgradle文件中删去dependencyResolutionManagement一大段,问题解决。

然后在对应图片的Java文件中写类似Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView);这样的语句来加载网络图片:

 1 public class ImageViewActivity extends AppCompatActivity {
 2     private ImageView imv_2;
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_image_view);
 7         imv_2=findViewById(R.id.imv_2);
 8         Glide.with(this).load("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png").into(imv_2);
 9     }//加载网络地址图片
10 }

在手机中可以查看到,但是在电脑的虚拟AVD机中一般是显示不出来的,可以申请网络权限,就可以显示了,需要在AndriodMainfest.xml中申请网络权限,加入如下代码:

1 <uses-permission android:name="android.permission.INTERNET"/>
2     

大概这样: