(android:点击换图系列一)通过ImageView点击更换图片

Posted 花猫要豹豹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(android:点击换图系列一)通过ImageView点击更换图片相关的知识,希望对你有一定的参考价值。

大家好,我是豹豹哥,友爱互融,共同进步😘🤞

项目背景:

要完成老师提出的一个需求(对象是一个灯,要实现按一下切换一下”亮灭“状态,分别用两张图片表示)
本文以ImageView为例解决

解决方案:

XML部分文字描述:

对于main.xml(主UI)文件来说,里面的ImageView控件肯定是少不了的,而且只要一个ImageView就够了

XML代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/ima_lamp"
        android:layout_width="110dp"
        android:layout_height="180dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/lamp" />

</RelativeLayout>

MainActivity部分文字描述:

首先要求中说了要变换亮灭样式,所以我们肯定要定义一个Boolean值来表示亮灭状态,然后就是重写onClick()方法了,用一个if判断,如果传入的Boolean值是真,就调用表示亮的图片:反之就调用表示灭的图片

MainActivity.java代码:

(尽早适应英文注释,有益无害,博主英文水准欠佳,请将就一下)

package com.example.admin.bilibili;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;


public class MainActivity extends Activity {

    private ImageView lamp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);//this method can cancel the  tittle bar of APP
        setContentView(R.layout.activity_main);//make the ID(activity_main) load in the MainActivity

        lamp = findViewById(R.id.ima_lamp);//bind
        lamp.setOnClickListener(new View.OnClickListener() {//monitor

            private boolean OPEN = false;//the flag to judge weather the lamp is open

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if (!OPEN) {//if !open ,invoking the picture(co_lighting_close),and turn the flag to true,than next click will be false and invoking the picture(co_light_open)
                    lamp.setImageResource(R.drawable.co_lighting_close);
                    OPEN = true;
                } else {//if open,invoking the picture(co_light_open),and turn the flag to false,than next click will be false and invoking the picture(co_light_close)
                    lamp.setImageResource(R.drawable.co_lighting_open);
                    OPEN = false;
                }
            }
        });
    }
}

###本文的图片是co_light_close和co_light_open(以防万一,提一下比较好)

效果:点一下,换个图

(相信你们的想象力)

图片资源:

搜索阿里巴巴矢量图
https://www.iconfont.cn
里面有超多的资源
独学而无友,则孤陋而寡闻。欢迎大家评论与私信,一起变强!😘🤞

以上是关于(android:点击换图系列一)通过ImageView点击更换图片的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript通过简单的封装实现图片滑过换图事件

文本背景列表换图

LaunchScreen.storyboard 换图的问题

原生js颗粒页换图效果

android viewpager嵌套使用photoview异常问题

Android系列View的事件分发机制