大家好,我是豹豹哥,友爱互融,共同进步😘🤞
目录
项目背景:
要完成老师提出的一个需求(对象是一个灯,要实现按一下切换一下”亮灭“状态,分别用两张图片表示)
本文以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
里面有超多的资源
独学而无友,则孤陋而寡闻。欢迎大家评论与私信,一起变强!😘🤞
————————————————
转载于:https://blog.csdn.net/weixin_50126556/article/details/117089727