现在的位置: 首页 > 综合 > 正文

Android小项目之十二 设置中心的界面

2018年02月23日 ⁄ 综合 ⁄ 共 2237字 ⁄ 字号 评论关闭
------- 源自梦想永远是你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事业的好友、只是勇敢地说出我学到! ----------

抱歉!评论已关闭.