------- 源自梦想、永远是你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事业的好友、只是勇敢地说出我学到! ----------