我们在注册为某一个网站会员时,以前貌似都要同意一些协议才能注册成功,在手机应用里也是一样的,我们同样需要签署一些协议才能进行下一步动作。
下面这个应用是当我们勾选“我同意”后,文字内容会变,同时”确定“按钮可以点击,否则”确定“按钮是不能点击,也就是说不能进行下一步动作。
实现步骤
一:布局文件编写
1.1:布局文件main.xml
< ?xml version = " 1.0 " encoding = " utf-8 " ? > < LinearLayout xmlns:android = " http://schemas.android.com/apk/res/android " android:orientation = " vertical " android:layout_width = " fill_parent " android:layout_height = " fill_parent " > < TextView android:layout_width = " fill_parent " android:layout_height = " wrap_content " android:text = " @string/content " android:id = " @+id/tv " /> < CheckBox android:layout_width = " wrap_content " android:layout_height = " wrap_content " android:text = " 我同意 " android:id = " @+id/checkbox " /> < Button android:layout_width = " wrap_content " android:layout_height = " wrap_content " android:text = " 确定 " android:id = " @+id/btn1 " /> </ LinearLayout >
二:代码文件编写
2. 1:MainActivity.java
package com.menglin.checkbox; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.TextView; public class MianActivity extends Activity { // 声明一个Button对象 private Button mybtn = null ; // 声明一个TextView 对象 private TextView mytv = null ; // 声明一个CheckBox 对象 private CheckBox mycheckBox = null ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 加载main.xml布局文件 setContentView(R.layout.main); // 以findViewById()方法取得Button对象 mybtn = (Button)findViewById(R.id.btn1); // 以findViewById()方法取得TextView对象 mytv = (TextView)findViewById(R.id.tv); // 以findViewById()方法取得CheckBox对象 mycheckBox = (CheckBox)findViewById(R.id.checkbox); // 给CheckBox对象绑定单击监听事件 mycheckBox.setOnClickListener(listener); // 将CheckBox默认设置为未选择状态 mycheckBox.setChecked( false ); // 将Button默认设置为未启用状态 mybtn.setEnabled( false ); } // 监听事件 private OnClickListener listener = new OnClickListener() { @Override public void onClick(View v) { // 如果CheckBox选中的话 if (mycheckBox.isChecked()) { // 将Button设置为启用状态 mybtn.setEnabled( true ); // 设置TextView呈现的内容 mytv.setText( " 您已完整阅读该协议并且同意 " ); } else { // 将Button默认设置为未启用状态 mybtn.setEnabled( false ); // 设置TextView呈现的内容 mytv.setText(R.string.content); } } }; }
三:常量文件
string .xml < ?xml version = " 1.0 " encoding = " utf-8 " ? > < resources > < string name = " content " > 这里是安卓开发联盟协议,如果您同意此协议请点击... </ string > < string name = " app_name " > CheckBoxDemo </ string > </ resources >
运行效果如下