ImageView的学习和使用

Posted z啵唧啵唧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ImageView的学习和使用相关的知识,希望对你有一定的参考价值。

ImageView

常用属性

scaleType

fitXY:撑满控件,宽高比例可能会发生改变

fitCenter:保持宽高比缩放,直到能够完全显示

centerCrop:保持宽高比缩放,直至完全覆盖控件,裁剪显示

使用scaleType的三种不同方式引入图片
<!--
src 引入图片
-->
<ImageView
    android:id="@+id/iv_1"
    android:layout_width="200dp"
    android:layout_height="100dp"
    android:background="#FF9900"
    android:scaleType="fitXY"
    android:src="@drawable/bg_iron_hua" />

<ImageView
    android:id="@+id/iv_2"
    android:layout_width="200dp"
    android:layout_height="100dp"
    android:layout_below="@id/iv_1"
    android:layout_marginTop="10dp"
    android:background="#FF9900"
    android:scaleType="fitCenter"
    android:src="@drawable/bg_iron_hua" />

<ImageView
    android:id="@+id/iv_3"
    android:layout_width="200dp"
    android:layout_height="100dp"
    android:layout_below="@id/iv_2"
    android:layout_marginTop="10dp"
    android:background="#FF9900"
    android:scaleType="centerCrop"
    android:src="@drawable/bg_iron_hua" />
效果展示

加载网络图片

使用第三方开源库加载网络图片,在build.gradle中的dependencies中添加第三方开源库

dependencies 
    //这两行是引入的
    implementation 'com.github.bumptech.glide:glide:4.14.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.14.1'
    
    //下面这是项目初始化自带的
    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

因为我们要加载网络当中的图片,那么就要给我们这个项目开通网络的权限,开通网络权限的方法是在AndroidManifest.xml文件中进行下面这行代码的添加

    <!--
    给当前项目开通网络权限
    -->
    <uses-permission android:name="android.permission.INTERNET"/>

然后在相关的view.xml中设置ImageView并且在项目的Activity当中编写加载网络图片的代码

<ImageView
    android:id="@+id/iv_4"
    android:layout_width="200dp"
    android:layout_height="100dp"
    android:layout_below="@id/iv_3"
    android:layout_marginTop="10dp"
    android:background="#FF9900"
    android:scaleType="centerCrop" />
/**
 * 声明控件
 */
private ImageView mIv4;
@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_image_view);
    //找到控件
    mIv4 = findViewById(R.id.iv_4);
    Glide.with(this).load("https://www.baidu.com/img/pc_d421b05ca87d7884081659a6e6bdfaaa.png").into(mIv4);

最终的效果展示

以上是关于ImageView的学习和使用的主要内容,如果未能解决你的问题,请参考以下文章

在 imageview 中使用时从相机或画廊拍摄的图片其方向发生变化,有时在 Android 中会垂直拉伸

如何获得ImageView中的图像

在 ImageView 上设置负边距会移动 ImageView 但不是 Image

保持 Fragment ImageView 上的按钮发生变化

Android通过参数动态设置ImageView

概率--学习朴素贝叶斯分布