Android studio教程学习笔记9——ImageView

ImageView

  • 常用属性
  • 加载网络图片

还是原来的工程:
新建activity ImageViewActivity.java

在activity_main.xml里新增Button:

<Button
        android:id="@+id/btn_imageview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="ImageView"
        android:textAllCaps="false"/>

在MainActivity.java里新增ImageView的内容:

package com.example.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Switch;

public class MainActivity extends AppCompatActivity {

    private Button mBtnTextView;  //声明一个Button类型的变量,变量名为mBtnTextView
    // 如果有报错,在出错地方按Alt+Enter键,会自动导入包
    private Button mBtnButton;
    private Button mBtnEditText;
    private Button mBtnRadioButton;
    private Button mBtnCheckBox;
    private Button mBtnImageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mBtnTextView = findViewById(R.id.btn_textview);  //找activity_main文件中设置的id
        mBtnButton = findViewById(R.id.btn_button);  //找activity_main文件中设置的id
        mBtnEditText = findViewById(R.id.btn_edittext);
        mBtnRadioButton = findViewById(R.id.btn_radiobutton);
        mBtnCheckBox = findViewById(R.id.btn_checkbox);
        mBtnImageView = findViewById(R.id.btn_imageview);
        setListeners();
    }

    private void setListeners() {
        OnClick onClick = new OnClick();
        mBtnTextView.setOnClickListener(onClick);//监听事件
        mBtnButton.setOnClickListener(onClick);
        mBtnEditText.setOnClickListener(onClick);
        mBtnRadioButton.setOnClickListener(onClick);
        mBtnCheckBox.setOnClickListener((onClick));
        mBtnImageView.setOnClickListener((onClick));
    }


    private class OnClick implements View.OnClickListener {  //然后按快捷键Ctrl+O

        @Override
        public void onClick(View v) {
            Intent intent = null;
            switch (v.getId()) { //根据不同的id执行相应的操作
                case R.id.btn_textview:
                    //跳转到TextView演示
                    intent = new Intent(MainActivity.this, TextViewActivity.class);
                    startActivity(intent);
                    break;
                case R.id.btn_button:
                    //跳转到Button演示
                    intent = new Intent(MainActivity.this, ButtonActivity.class);
                    startActivity(intent);
                    break;
                case R.id.btn_edittext:
                    //跳转到EditText演示
                    intent = new Intent(MainActivity.this, EditTextActivity.class);
                    startActivity(intent);
                    break;
                case R.id.btn_radiobutton:
                    //跳转到RadioButton演示
                    intent = new Intent(MainActivity.this, RadioButtonActivity.class);
                    startActivity(intent);
                    break;
                case R.id.btn_checkbox:
                    //跳转到CheckBox演示
                    intent = new Intent(MainActivity.this, CheckBoxActivity.class);
                    startActivity(intent);
                    break;
                case R.id.btn_imageview:
                    //跳转到ImageView演示
                    intent = new Intent(MainActivity.this, ImageViewActivity.class);
                    startActivity(intent);
                    break;
            }
            startActivity(intent);
        }
    }
}


找一个图片放到这个文件夹:
在这里插入图片描述

scaleType
fitXY:撑满控件,宽高比可能发生改变
fitCenter:保持宽高比缩放,直至能够完全显示
centerCrop:保持宽高比缩放,直至完全覆盖控件,裁剪显示

后面要做一个让控件加载一张网络的图片,提前做一下准备:
教程是通过GitHub下载的,但是访问太慢了,我通过码云下载:
https://gitee.com/mirrors/glide?_from=gitee_search (页面下滑还有glide的使用方法)

方法①
在这里插入图片描述
点这里下载,下载好的文件放在工程目录的/lib下

方法②
通过项目/app下的build.gradle文件来构建
拷贝以下红框内容:
在这里插入图片描述
粘贴,点击蓝框的,更新同步:
在这里插入图片描述
因为要从网络上获取图片,所以要打开网络权限:
/app/src/main 下的 AndroidManifest.xml
添加:

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

在这里插入图片描述

activity_image_view.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">

    <!--background是背景,src是内容-->
    <ImageView
        android:id="@+id/iv_1"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:background="#FF9900"
        android:src="@drawable/bg_picture"
        android:scaleType="fitXY"/>

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

    <ImageView
        android:id="@+id/iv_3"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:background="#FF9900"
        android:src="@drawable/bg_picture"
        android:scaleType="centerCrop"
        android:layout_below="@id/iv_2"
        android:layout_marginTop="10dp"/>

    <!--让下面这个控件加载一张网络的图片-->
    <ImageView
        android:id="@+id/iv_4"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:background="#FF9900"
        android:scaleType="centerCrop"
        android:layout_below="@id/iv_3"
        android:layout_marginTop="10dp"/>

</RelativeLayout>

ImageViewActivity.java

扫描二维码关注公众号,回复: 11376578 查看本文章
package com.example.helloworld;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

import android.os.Bundle;
import android.widget.ImageView;

import com.bumptech.glide.Glide;

public class ImageViewActivity extends AppCompatActivity {

    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/PCfb_5bf082d29588c07f842ccde3f97243ea.png").into(mIv4);
        //load后面放的是网络上的图片的地址链接
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45550460/article/details/106931131