【Android开发】范例3-"我同意"游戏条款

实现游戏开始界面中的我同意游戏条款功能:不勾选“我同意”复选框,就不会出现“开始游戏”的按钮,勾选“我同意”复选框,出现“开始游戏”的按钮。

效果图如图:

未点击"我同意"之前

点击“我同意”之后

点击"开始"按钮的瞬间的效果:

具体实现代码:
res/layout/main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:orientation="vertical"
	android:gravity="center"
	android:screenOrientation="landscape"
	android:background="@drawable/background">
	<!-- 显示游戏条款的TextView -->
    <TextView android:text="@string/artcle"
        android:id="@+id/textview1"
        android:paddingTop="40px"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxWidth="700px"
        style="@style/text"/>
    <!-- "我同意"复选框 -->
    <CheckBox android:text="我同意"
        android:id="@+id/checkBox1"
        android:textSize="22px"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <!-- 图片按钮 visibility="invisible"设置按钮不可见-->
    <ImageButton android:id="@+id/start"
        android:background="#0000"
        android:paddingTop="30px"
        android:src="@drawable/button_state"
        android:visibility="invisible"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

res/drawable/button_state.xml
用于设置鼠标按下时显示的图片和鼠标没有按下时的图片:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/stop"/>
    <item android:state_pressed="false" android:drawable="@drawable/in"/>
</selector>

res/value/strings.xml:(在Android中,空格使用“ ”表示)

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">test3.1</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="artcle">      
        注册及使用账号,不得有下列情形:
  4.6.1	违反宪法或法律法规规定的;
  4.6.2	散布谣言,扰乱社会秩序,破坏社会稳定的;
  4.6.3	散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
  4.6.4	侮辱或者诽谤他人,侵害他人合法权益的;
  4.6.5	含有法律、行政法规禁止的其他内容的。</string>

</resources>

res/value/styles.xml:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

     <style name="text">
       <item name="android:textSize">24px</item>
       <item name="android:textColor">#FFFFFF</item>
    </style>

    <style name="AppBaseTheme" parent="android:Theme.Light">
    </style>

    <style name="AppTheme" parent="AppBaseTheme">
    </style>
</resources>

在主活动的onCreat()方法中,获取布局文件中添加的"进入"图片按钮和"我同意"复选框,并为复选框添加状态改变监听器,用于实现当复选框被选中时显示“进入”按钮,否则不显示。具体代码如下:

package com.example.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageButton;
import android.widget.Toast;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		final ImageButton imageButton=(ImageButton)findViewById(R.id.start);//获取"进入"按钮
		CheckBox checkbox=(CheckBox)findViewById(R.id.checkBox1);//获取复选框
		//为复选框添加监听器
		checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				if(isChecked){//当复选框被选中时
					imageButton.setVisibility(View.VISIBLE);//设置"进入"按钮显示
				}else{
					imageButton.setVisibility(View.INVISIBLE);//设置"进入"按钮不显示
				}
				imageButton.invalidate();//重绘ImageButton
			}
		});
		//点击按钮出现"进入游戏...."提示信息
		imageButton.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				//显示消息提示框
                                Toast.makeText(MainActivity.this, "进入游戏...",Toast.LENGTH_SHORT).show();
			}
		});
	}
}

转载请注明出处:http://blog.csdn.net/acmman/article/details/44851383

时间: 2024-09-17 04:24:14

【Android开发】范例3-&quot;我同意&quot;游戏条款的相关文章

求高手推荐几本ANDROID开发初学者书籍

问题描述 本人有点J2ME基础.ANDROID完全不懂,连安装环境都不会.最好能是最浅显的入门书.学过用过的朋友推荐几本. 解决方案 解决方案二:推荐推荐我顶解决方案三:深入浅出,OPHONE开发权威开发指南解决方案四:我连J2ME的基础都没有只有J2EE的基础照样把andriod的环境搭起来了能跑helloworld了这个网上都有教程还有视频找找吧解决方案五:OPHONE开发权威开发指南.Android开发入门与实战.解决方案六:android网站的reference就很清楚!解决方案七:An

Android开发入门(十二)列表控件 12.3 ListView的总结范例

使用一个例子,来总结一下ListView的基本使用. 1. 新建一个工程:ListViewDemo. 2. main.xml中的代码. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pare

eclispe-android开发中控件上的文字不能含有&amp;amp;quot;&amp;amp;lt;&amp;amp;quot;或者&amp;amp;quot;&amp;amp;gt;&amp;amp;quot;,这该怎么办

问题描述 android开发中控件上的文字不能含有"<"或者">",这该怎么办 比如:android:text="测试" 这样可以 但是android:text="<测试"这样就报错 我主要做个 类似 后退功能的 按钮..可是发现添加不了"<"或者">" 该怎么办 解决方案 我去,这里也发不了特殊字符 解决方案二: ## bbd 解决方案三: 写成 <

eclipse-安装&amp;amp;quot;Android DDMS&amp;amp;quot;和&amp;amp;quot;Android Development Tools&amp;amp;quot;出错

问题描述 安装"Android DDMS"和"Android Development Tools"出错 eclipse-ee安装"Android DDMS"和"Android Development Tools"出错了,怎么办 解决方案 出的是什么错误呢?这个需要详细的说明一下. 解决方案二: 建议下载离线包,不然现在上不了google 解决方案三: 看一下这个.搭建android开发环境

jsp truts-&amp;amp;lt;div class=&amp;amp;quot;error_mes&amp;amp;quot;&amp;amp;gt;${message}&amp;amp;lt;/div&amp;amp;gt;

问题描述 <div class="error_mes">${message}</div> ${message}什么意思?${message}通常在哪实现? 解决方案 ${message}是java中el表达式 可以获取域中的值 四大作用域 application request session pageContext 建议百度看下el表达式就ok了 解决方案二: jsp中的EL表达式,具体看下这里面.http://blog.csdn.net/chinacshar

jquery mobile中使用data-role=&amp;amp;quot;dialog&amp;amp;quot;弹出对话框的问题

问题描述 jquery mobile中使用data-role="dialog"弹出对话框的问题 如图,当页面除了一个"page"和"dialog"还有其它的 容器时,对话框后的背景就会显示没有样式的这个容器内容, 这是为什么呢,怎样才能让背景中不显示任何东西 解决方案 试试把背景内容放到另一个page中 你说的data-role =dialog 我没注意到 这个属性... 另外 可以看看 . data-role=popup http://www.

Android开发之自定义view实现通讯录列表A~Z字母提示效果【附demo源码下载】

本文实例讲述了Android开发之自定义view实现通讯录列表A~Z字母提示效果.分享给大家供大家参考,具体如下: 开发工具:eclipse 运行环境:htc G9 android2.3.3 话不多说,先看效果图 其实左右边的A~Z是一个自定义的View,它直接覆盖在ListView上. MyLetterListView: public class MyLetterListView extends View { OnTouchingLetterChangedListener onTouching

Android开发入门系列

Android开发入门(二十)内容提供者 20.3 经过预定义的查询字符 Android开发入门(二十)内容提供者 20.2 ContentProvider的使用 Android开发入门(二十)内容提供者 20.1 数据共享 Android开发入门(十九)数据库 19.3 预创建数据库 Android开发入门(十九)数据库 19.2 使用数据库 Android开发入门(十九)数据库 19.1创建数据库辅助类 Android开发入门(十八)文件 18.4使用静态资源 Android开发入门(十八)

17位谷歌Android开发专家是如何看待Kotlin的?

注:此英文原文发布于 Kotlin 得到 Google 官方支持的前几天,供参考. Google 已经多次表达过他们不反对 Kotlin 的使用,只要 Kotlin 编译器依然生成有效的字节码,那么 Google 就不会阻止任何人使用它.但我想如果能够知道 Google 的 Android 开发专家是如何看待 Kotlin 的,那就更好了. 我联系了一些这样的 Android 专家,我得到了来自 17 位的答复.我只是要求他们告诉我们关于 Kotlin 的一点想法,答案显然是未经过修改的,所以你