Android游戏开发系统控件-CheckBox

Android游戏开发系统控件-CheckBox

2012/5/11 星期五

CheckBox是Android系统最普通的UI控件,继承了Button按钮

下面通过一个实例来学习

作者:wwj

功能:实现复选框的功能

创建项目“CheckBoxProject”

运行项目效果截图:

 

代码实现:

=>>main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello" /><CheckBoxandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/cb1"android:id="@+id/cb1"/><CheckBox android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/cb2"android:id="@+id/cb2"/><CheckBoxandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/cb3"android:id="@+id/cb3"/>
</LinearLayout>

 

=>>string.xml

 

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="hello">CheckBoxProject!</string><string name="app_name">CheckBox</string><string name="cb1">CheckBox1</string><string name="cb2">CheckBox2</string><string name="cb3">CheckBox3</string>
</resources>


 

=>>CheckBoxProject.java

package com.checkBox;import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Toast;public class CheckBoxActivity extends Activity implements OnCheckedChangeListener{private CheckBox cb1,cb2,cb3;//创建3个CheckBox对象/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//实例化3个CheckBoxcb1 = (CheckBox) findViewById(R.id.cb1);cb2 = (CheckBox) findViewById(R.id.cb2);cb3 = (CheckBox) findViewById(R.id.cb3);cb1.setOnCheckedChangeListener(this);cb2.setOnCheckedChangeListener(this);cb3.setOnCheckedChangeListener(this);}//重写监听器的抽象函数public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {//buttonView 选中状态发生改变的那个按钮//isChecked 表示按钮新的状态(true/false)if(cb1 == buttonView || cb2 == buttonView || cb3 == buttonView ){if(isChecked){//显示一个提示信息toastDisplay(buttonView.getText() + "选中");}else{toastDisplay(buttonView.getText() + "取消选中");}}	}public void toastDisplay(String str){Toast.makeText(this, str, Toast.LENGTH_SHORT).show();}}


对CheckBox进行监听,步骤如下:

步骤1:使用OnCheckChangeListener接口,这里的接口导入的是:

“android.widget.CompoundButton.OnCheckChangeListener”;

步骤2:重写监听器的抽象函数“onCheckedChanged()”

步骤3:将每个CheckBox组件绑定监听器。

  通过重写的onCheckedChanged(CompoundButton buttonView,boolean isChecked)函数一个参数来确定哪个CheckBox状态发生改变;根据第二个参数来确定改变的CheckeBox的具体状态值,true为勾选,false为未勾选。

  CheckBoxActivity类中还定义了toastDisplay()函数,其实是为了使用Android的一种提示信息的方式:Toast:主要用于提示信息,使用起来很方便;先创建Toast对象,然后调用makeText()方法得到一个Toast实例对象。

  makeText(Context context,CharSequence text,int duration)

  第一参数是上下文对象;第二个参数显示的文本内容;第三个参数显示提示消息的持续时间;其值有两个常量:LENGTH_SHORT(短暂持续)和LENGTH_LONG(略长持续)。

  最后,使用Toast对象调用show()方法即可。

转载于:https://www.cnblogs.com/wwj9413/archive/2012/05/11/2638592.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

改变Fragment的默认动画

FragmentTransaction ft getFragmentManager().beginTransaction(); //设置进入退出动画 ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);DetailsFragment newFragment DetailsFragment.newInstance();ft.replace(R.id.details_fragment_container, …

Android从无知到有知——NO.7

的ip拨号器在监听外拨电话时用的是系统提供的广播事件。而有些时候我们须要自己设定广播事件来满足特定的须要。Ok&#xff0c;今天整一下自己定义广播事件&#xff0c;我们用一个状态监測模块向一个3G模块发送报警信息来实现这一想法。 先定义一个3g模块用来接收特定的广播&am…

Flex 学习随笔 ---- 玩 Chart

上次好象写了Flex通过web服务访问数据库&#xff0c;并绑定一个简单的Chart. 在Flex Builder 3 里&#xff0c;有很多Chart &#xff0c;我好象只会一个ColumnChart。不过其他的也差不多。 来个简单的。上代码才是王道。。 Code<mx:Panel layout"absolute" right&…

浅析拯救小矮人的 nlogn 算法及其证明

浅析拯救小矮人的 nlogn 算法及其证明 题型简介&#xff1a; 有 $ n $ 个人&#xff0c;第 $ i $ 个人身高 $ a_i $ 手长 $ b_i $ &#xff0c;他们为了从一个高为 $ H $ 的洞中出去&#xff0c;决定搭人梯。如果一个人和他下面的人的身高之和加上他的手长可以达到洞的高度&…

Android Material Design TabLayout属性app:tabMode和app: tabGravity

Android Material Design TabLayout属性app:tabMode和app: tabGravity Android Material Design 中的TabLayout有两个比较有用的属性 app:tabMode、app:tabGravity&#xff0c; &#xff08;1&#xff09;app:tabMode有两个值&#xff1a;fixed和scrollable。 &#xff08;2&am…

unity混音

前言在游戏中&#xff0c;通常我们需要控制整个游戏的主音量&#xff08;全局音量&#xff09;&#xff0c;并且单独控制背景音乐和其他音效&#xff08;攻击、爆炸之类&#xff09;的音量&#xff0c;这时我们可以用Audio Mixer来解决。 如果文章中有哪些地方写的不对&#xf…

一个较完整的关键字过滤解决方案(上)

如果您希望看到关键字过滤算法的话那么可能就要失望了。博客园中已经有不少关于此类算法的文章&#xff08;例如这里和这里&#xff09;&#xff0c;虽然可能无法直接满足特定需求&#xff0c;但是已经足够作为参考使用。而本文的目的&#xff0c;是给出一个较为完整的关键字过…

【转】Thunderbird中配置签名

原文网址&#xff1a;https://support.mozilla.org/zh-CN/kb/Thunderbird%E4%B8%AD%E9%85%8D%E7%BD%AE%E7%AD%BE%E5%90%8D “签名”是一块自动附加到每个您发出的消息的文字&#xff08;包括新消息和对收到消息的回复&#xff09;。他们通常用来提供与每个消息有关的附加联系信…

依赖注入Bean属性——手动装配Bean

一、构造方法注入 其中&#xff0c;可以根据不同的参数列表调用不同的重载的构造方法&#xff1b; 其中&#xff0c;基本数据类型没有包&#xff0c;引用类型都有包路径&#xff0c;基本类型对应封装类&#xff1b; 二、通过property标签调用类的set方法注入 三、通过p命名空间…

ADO.NET数据库

ASP.NET提供了ADO.NET技术&#xff0c;它是ASP.NET应用程序与数据库进行交互的一种技术。 ADO.NET技术把对数据库的操作分为几个步骤&#xff0c;并为每个步骤提供对象来封装操作过程&#xff0c;从而使对数据库的操作变得简单易行。 ADO.NET组件通过以下两个主要的组件将数据访…

十天学会ASP.Net——(2)

2.Web控件 1&#xff09;WebControl基类属性 参考http://msdn.microsoft.com/zh-cn/library/7zt8s89c 2&#xff09;Form控件&#xff08;很简单&#xff09; 应用&#xff1a;实现如下效果 <form id"form1" runat"server"> <div> 班级:<br…

Spring表达式

一、SpEL 其中&#xff0c;直接写也可以赋值&#xff0c;‘ ’ 单引号引起来后成为一个字符串对象&#xff0c;可以调用String的方法&#xff1b; 二、引用另外一个bean 装配这个类的bean&#xff1a; 1、第一种方法&#xff0c;property标签中使用bean引用 2、使用Spring表达…

集合属性注入值

一、集合注入&#xff0c;装配bean的时候&#xff0c;即在xml中添加bean的时候 1、List集合 2、set集合&#xff0c;无序&#xff0c;即无索引&#xff0c;所以也无重复&#xff0c; 3、map key-value键值对双列集合&#xff0c;内置接口Entry 4、Properties集合&#xff0c;可…

QuerySyntax(查询语法)

Code/// <summary>/// QuerySyntax&#xff08;查询语法&#xff09;的摘要说明/// </summary>public class QuerySyntax { public int ID { get; set; } public string Name { get; set; } public void QuerySyntaxTest() { List<Quer…

二、ceph编译源码、单机搭建调试环境

2019独角兽企业重金招聘Python工程师标准>>> 准备一台机器&#xff1a; roottest3:~# cat /proc/version Linux version 3.13.0-32-generic (builddkissel) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 一、下载ce…

C#与Unity 数据存储

使用Json存储数据 1.创建Json文件&#xff0c;直接创建txt文件&#xff0c;将后缀名改为xx.json 2.Json文件的数据格式&#xff0c;中括号表示列表&#xff0c;即中括号下的每个逗号隔开的内容都是列表的每个元素&#xff0c;花括号表示对象&#xff0c;冒号前面的表示属性名&a…

centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课...

centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课 rsync可以增量同步&#xff0c;scp不行 注意&#xff1a;修改sshd_config文件时候&#xff0c;port字段&#xff0c;sshd不支持监听小于1024 &#xff0c;1~1023不允…

注解@Component方式代替xml装配bean

一、Component 用注解来装配bean 1、 2、对类使用注解&#xff0c;装配bean&#xff1a; 3、类中&#xff0c;注入其他对象&#xff1a; 二、bean.xml中配置Componet方式装配bean 1、开启注解装配bean依赖注入方式和类使用的自动注入 2、 其中&#xff0c;通过类型获取对象时候…

ASP.NET2.0数据操作之创建业务逻辑层

导言 本教程的第一节所描述的数据访问层&#xff08;Data Access Layer&#xff0c;以下简称为DAL&#xff09;已经清晰地将表示逻辑与数据访问逻辑区分开了。不过&#xff0c;即使DAL将数据访问的细节从表示层中分离出来了&#xff0c;可它却不能处理任何的业务规则。比如说&a…

不使用注解和使用注解的web-service-dao结构

一、未使用注解的web-service-dao结构 1、action类源码 其中&#xff0c;service作为一个成员属性&#xff0c;采用的是层层调用&#xff0c;service类中dao作为一个成员属性&#xff0c;再成员方法中调用&#xff1b; 2、bean.xml中装配bean&#xff1a; 3、创建spring容器&am…