ImageView控件的基本使用(点击Button按钮,切换图片显示)

ImageView是用于在界面上展示图片的一个控件,它可以让我们的程序界面变得更加丰富多彩。学习这个控件需要提前准备好一些图片,图片通常都是放在drawable开头的目录下的。这里我们为了让程序的图片显示更加精美,我们可以使用矢量图来作为资源图片。这里我就不具体讲解如何将.svg矢量图在AndroidStudio中变成.xml适量图了。网上很多教程。

程序效果图:

 

activity_main.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/btn1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="点击切换图片" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <ImageView
            android:id="@+id/iv1"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/apple" />
    </LinearLayout>


</LinearLayout>

MainActivity.java代码:

package com.example.administrator.activitydemo;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {
    private Button btn1;
    private ImageView iv1;
    private int[] img = {R.drawable.apple, R.drawable.grape};//定义一个int数组,用来放图片
    private boolean flag = false;//定义一个标识符,用来判断是apple,还是grape

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();//初始化UI控件
    }

    private void initView() {
        btn1 = (Button) findViewById(R.id.btn1);
        iv1 = (ImageView) findViewById(R.id.iv1);
    }

    @Override
    protected void onResume() {
        super.onResume();

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //首先判断flag是真还是假,如果是真,就显示apple,如果是假,就显示grape
                if (flag) {
                    iv1.setImageResource(img[0]);//apple
                    flag = false;
                } else {
                    iv1.setImageResource(img[1]);//grape
                    flag = true;
                }
            }
        });
    }
}


效果很简单,就是在点击Button按钮之后,用ImageView控件显示不同图片

步骤1:声名控件

步骤2:初始化UI控件

步骤3:重写onResume()方法,在这里面为Button按钮设置点击监听

步骤4:在点击监听中判断当前的flag为true还是false,如果true显示apple,如果false显示grape

步骤5:具体如何显示图片的呢?   主要调用ImageView类中的setImageResource(int res)函数,正好我们的图片是.xml格式的,而这个格式在Android中最终是以一个int值存在的,所以我们只需要将其作为参数传入即可。

猜你喜欢

转载自blog.csdn.net/android_studying/article/details/85769572