今天要写的是ImageView的使用,先上成果图,大概大家就懂了一半要做什么效果了
选了篮球之神乔大爷的照片,顺便致敬一波乔丹。
1.ImageView的基本用法(重点是缩放类型android:scaleType)
(1)android:scaleType="fitXY" 撑满控件,宽高比可能发生改变
<ImageView
android:id="@+id/iv1"
android:layout_width="250dp"
android:layout_height="150dp"
android:background="#FF9900"
android:src="@drawable/jordan"
//图片资源的地址,需要事先复制到项目的文件夹下面,然后进行引用即可
android:layout_marginBottom="15dp"
android:scaleType="fitXY"/> //缩放类型
(2)android:scaleType="fitCenter":保持宽高比缩放,直至能够完全显示
<ImageView
android:id="@+id/iv2"
android:layout_width="250dp"
android:layout_height="150dp"
android:background="#FF9900"
android:src="@drawable/jordan"
android:layout_marginBottom="15dp"
android:scaleType="fitCenter"/>
(3)android:scaleType="centerCrop":保持宽高比缩放,直至完全覆盖控件,裁剪显示
<ImageView
android:id="@+id/iv3"
android:layout_width="250dp"
android:layout_height="150dp"
android:background="#FF9900"
android:src="@drawable/jordan"
android:layout_marginBottom="25dp"
android:scaleType="centerCrop"/>
2.加载网络图片
日常为了让项目的内存占用小一点,通常会使用网络图片进行显示。
比如微信小程序就是限制小程序项目包的大小,所以你不得不用网络图片的资源。
使用网络图片资源的步骤如下
(1)使用三方下载,导入并下载(Glide的使用)
附一下GitHub上的Glide地址:Glide介绍以及下载地址
进入之后看具体的文档说明(纯英文滴)
(1)在build.gradle文件中写入引用,具体它会帮你办好
具体加入以下代码到文件中即可
repositories {
mavenCentral()
}
dependencies {
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}
(2)然后点击按钮进行Gradle文件的更新(右上角大象一个斜向下的按钮点击即可)
(3)然后在Activity中下载图片网络资源即可
Glide.with(this).load("http://img.redocn.com/sheying/20150213/mulanweichangcaoyuanfengjing_3951976.jpg").into(iv4);
放一下xml文件以及activity
<ImageView
android:id="@+id/iv4"
android:layout_width="250dp"
android:layout_height="150dp"
android:background="#FF9900"
android:scaleType="centerCrop"/>
package com.example.androidstudy;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
public class ImageViewActivity extends AppCompatActivity {
ImageView iv4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_imageview);
iv4=findViewById(R.id.iv4);
Glide.with(this).load("http://img.redocn.com/sheying/20150213/mulanweichangcaoyuanfengjing_3951976.jpg").into(iv4);
}
}
然后效果图如下(需要启动应用之后会出现网络图片)
PS:如果启动之后没有图片识为什么:
Answer:可能是没有开启网络请求的允许
在AndroidManifest.xml文件中进行声明即可,即加入以下代码
<uses-permission android:name="android.permission.INTERNET">/</uses-permission>