当前位置: 代码迷 >> Android >> Android项目 手机安全卫士(代码最全,诠释最详细)之十二 设置中心的界面
  详细解决方案

Android项目 手机安全卫士(代码最全,诠释最详细)之十二 设置中心的界面

热度:72   发布时间:2016-04-28 08:04:30.0
Android项目 手机安全卫士(代码最全,注释最详细)之十二 设置中心的界面

------- 源自梦想、永远是你IT事业的好友、只是勇敢地说出我学到! ----------

按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点也都能说出了123来,但是这些孤立的点终究显得太零散了,因此,我想从今天开始,以最经典的手机安全卫士项目为例,自己锻炼一下,也是想和大家交流交流,希望大家都能给出见解,共同进步。


十二、设置中心的界面

每次打开软件都需要联网,怎么把这个关闭掉?
把功能做到设置中心这个功能模块。
首先把布局文件写出来,activity_setting_center.xml
具体代码:
			<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"				xmlns:tools="http://schemas.android.com/tools"				android:layout_width="match_parent"				android:layout_height="match_parent"				android:orientation="vertical"				tools:context=".SettingCenterActivity" >					<TextView						style="@style/text_title_style"						android:text="设置中心" />										<RelativeLayout 						android:layout_width="wrap_content"						android:layout_height="55dip">												<TextView							android:id="@+id/tv_setting_update"							style="@style/wrap_style"							android:layout_marginLeft="5dip"							android:layout_marginTop="5dip"							android:text="自动更新设置"							android:textColor="#000000"							android:textSize="20sp"							/>						<TextView							android:layout_below="@id/tv_setting_update"							android:layout_marginLeft="5dip"							android:layout_marginTop="3dip"							style="@style/wrap_style"							android:text="自动更新已经开启"							android:textColor="#80000000"							android:textSize="14sp"							/>						<CheckBox 							style="@style/wrap_style"							android:layout_alignParentRight="true"							android:layout_centerVertical="true"							/>					</RelativeLayout>			</LinearLayout>


现在要求,当点击条目的时候,选择框被选中,小文本内容为“自动更新已经开启”,再次点击条目时,相反。
那么就得给<RelativeLayout 一个监听事件。
在SettingCenterActivity中,我们需要知道布局中的RelativeLayout、小文本和选择框。
具体代码:
						rv_setting_update.setOnClickListener(new OnClickListener() {														@Override							public void onClick(View v) {								if(cb_setting_update_status.isChecked()){									cb_setting_update_status.setChecked(false);									tv_setting_update_status.setText("自动更新已经关闭");								}else{									cb_setting_update_status.setChecked(true);									tv_setting_update_status.setText("自动更新已经开启");								}							}						});


要是想演示效果,还需要在主界面上给个功能模块设置点击事件:
具体代码:
//给GridView下的各个模块设置点击事件
						gv_home.setOnItemClickListener(new OnItemClickListener() {							@Override							public void onItemClick(AdapterView<?> parent, View view,									int position, long id) {								Intent intent;								switch (position){								case 8:									intent = new Intent(HomeActivity.this, SettingCenterActivity.class);									startActivity(intent);									break;								}							}													});


以上便实现了设置中心的界面设置。
但是,
1当我们退出该界面时,还不能记住CheckBox的勾选状态。
2光点击CheckBox时,文本中的内容不会变化。
这时候我们通常的处理方法是“阉割”CheckBox的作用:
在CheckBox标签下加:
					                android:focusable="false"							android:clickable="false"


------- 源自梦想、永远是你IT事业的好友、只是勇敢地说出我学到! ----------


  相关解决方案