DAY9:元件与监听事件简介及实作

我们要来介绍到元件与监听事件,首先,先从取得画面元件说起,简单来说,Android主程序码跟画面的xml档是完全不一样的,我们的主程序会放在Java目录底下的MainActivity,也就是说,主程序码必须取得我的画面配置,setContentView()这个方法会指定这个Activity所要的画面,我们可以透过下图看到,下图系统已经预设取得我的画面了。
https://ithelp.ithome.com.tw/upload/images/20210924/201404886wMTlZbfJ7.png
我们要取得xml内的元件方法有两种,我使用findViewByld()将元件绑定,我们要先记得自己元件的id,例如:在我上一篇都没改的名称之下就会是TextView1、TextView2….等等,这可以透过我们在画面配置中这行程序码看到
android:id="@+id/textView",每个元件都有自己专属的id,使用这用这个方法便会找到对应的id,以下是我的示范。
https://ithelp.ithome.com.tw/upload/images/20210924/20140488QI223fXi3f.png
接下来要介绍到监听事件,监听就是说,当使用者点选或是输入,而程序去进行这个动作做一个回馈,这就是透过监听来达成的。介绍常见的四种:
1.OnClickListener
这是最常使用的监听元件,当使用者点选时做出回应,使用方法为setOnClickListener。
2.OnLongClickListener
这跟第一个大同小异,不过它是在使用者常按元件时会触发,使用方法为setOnLongClickListener.
3.OnTouchListener
当使用者按下或是移动手势或是离开时,会做出回馈,当事件成立时会触发setONTouchListener,参数event为触发事件。
4.OncheckedChangeListener
这是专属於radiogroup的监听元件,功能在於监听radiogroup的子层级radiobutton被按下时,会触发onCheckedChanged()。(radiobutton一定要是radiogroup的子层级喔!!!)
接下来,我就把上一篇设置的画面打出主程序码,加入监听事件,进而成功进行游戏,首先我们先对button进行监听,先判断我们的exitview有没有输入到名字,如果没有便会要求输入,如果有,则会显示玩家姓名及其出拳,再来会产生0~1不含1乱数,乘3产生0~2当作电脑方的出拳。
最後,我们用着三个判断式去判断式使用者获胜还是电脑方,简单解释一下,
当使用者按下剪刀以及电脑产生2/使用者按下石头以及电脑产生1/使用者按下布以及电脑产生0,这三种状况时,代表使用者获胜,并且显示。
若使用者按下剪刀以及电脑产生1/使用者按下石头以及电脑产生2/使用者按下代表平手,并且显示以及请使用者再试一次。
https://ithelp.ithome.com.tw/upload/images/20210924/20140488rbm9MrRMi3.png
以下为成果画面:
此图为画面设计配置
https://ithelp.ithome.com.tw/upload/images/20210924/20140488TGaDXwFm2M.png
下图为输入姓名并选取出拳
https://ithelp.ithome.com.tw/upload/images/20210924/20140488y7e7ZZVBuY.png
下图为按下猜拳所显示的三种结果。一为平手,二为电脑方获胜,三为使用者获胜。
https://ithelp.ithome.com.tw/upload/images/20210924/20140488Lut9uBCdWE.png
https://ithelp.ithome.com.tw/upload/images/20210924/201404881k9VgVlTFf.png
https://ithelp.ithome.com.tw/upload/images/20210924/20140488pijbiSja6k.png


<<:  [Day9]SQL函数:单列函数

>>:  Day 9 : 案例分享(3.2) 会计模组-日记帐 Odoo的会计核心运用

Flutter基础介绍与实作-Day2 Flutter的安装流程和环境配置

今天来介绍一下Flutter的环境安装流程 下载Flutter(Windows) 1.到这个网站请点...

Debian系统解决中文乱码

1、安装locales apt install locales 2、设置语言选项 dpkg-reco...

Day 29. 继续来看组件基础 – Components 吧ヾ(*´∀ ˋ*)ノ

欧欧欧,竟然已经到第29天了,时间真的是咻咻咻就过了呢!明天就要结束了,真是感伤(☍﹏⁰) (解脱了...

[Day29] Scrum失败经验谈 – 没有经验的Scrum Master

这次最後一个要分享的Scrum失败经验,就是「没有一位具备经验的Scrum Master」,工程团队...

css 阴影

今天要来说说如何为一个div加上阴影,我们先来看看效果如何,我创造出一个橘色的方块,并且在他的css...