我们在注册为某一个网站会员时,以前貌似都要同意一些协议才能注册成功,在手机应用里也是一样的,我们同样需要签署一些协议才能进行下一步动作。
下面这个应用是当我们勾选“我同意”后,文字内容会变,同时”确定“按钮可以点击,否则”确定“按钮是不能点击,也就是说不能进行下一步动作。
实现步骤
一:布局文件编写
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>
<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);
}
}
};
}
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>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="content">这里是安卓开发联盟协议,如果您同意此协议请点击...</string>
<string name="app_name">CheckBoxDemo</string>
</resources>
运行效果如下
本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/736036,如需转载请自行联系原作者