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

Android小项目之十二 设置中心的界面的更多相关文章

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

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  2. Android小项目之十 应用程序更新的签名问题

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  3. Android图表库MPAndroidChart(十二)——来点不一样的,正负堆叠条形图

    Android图表库MPAndroidChart(十二)--来点不一样的,正负堆叠条形图 接上篇,今天要说的,和上篇的类似,只是方向是有相反的两面,我们先看下效果 实际上这样就导致了我们的代码是比较类 ...

  4. Android特效专辑(十二)——仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View

    Android特效专辑(十二)--仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View 先来看看这个效果 这是我的在Only上添加的效果,说实话,Only现在都还只是半成品,台面都上不了,怪自己技术 ...

  5. Android小项目之二 代码的组织结构

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  6. Android小项目合集(经典教程)包含十五个Android开发应用实例

    http://www.cnblogs.com/aimeng/archive/2012/03/28/2422435.html

  7. Android小项目之十一 应用程序的主界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  8. Android小项目练习之一 项目简介

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  9. Android程序项目结构(二)

    利用Android Studio创建完第一个Hello World项目后,我们会看到使用project模式的项目结构. 一..gradle和.idea 这两个目录放置的是Android Studio自 ...

随机推荐

  1. No package identifier when getting name for resource number 0x00000000

    貌似在新版本的SDK下有时会出现标题的这个warning~  如下: 思前想后也不知道这个到底是说的哪里的问题,在逛谷歌的时候无意中发现有人说是因为xml中color的参数直接写成: android: ...

  2. Codeforces 711 D. Directed Roads (DFS判环)

    题目链接:http://codeforces.com/problemset/problem/711/D 给你一个n个节点n条边的有向图,可以把一条边反向,现在问有多少种方式可以使这个图没有环. 每个连 ...

  3. UI进阶 FMDB

    一.FMDB简介 1.FMDB简介 iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较繁琐.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB. ...

  4. 错误"因为数据库正在使用,所以无法获得对数据库的独占访问权"的解决方案

    今天在还原数据库的时候,提示"因为数据库正在使用,所以无法获得对数据库的独占访问权",无论我是重启数据库,还是重启计算机,都不能解决问题,多番尝试后,终于解决了该问题.现将引发该问 ...

  5. C#泛型在unity3D中的运用...

    泛型是什么? 这是摘自百度百科中对泛型的介绍: 泛型是c#2.0的一个新增加的特性,它为使用c#语言编写面向对象程序增加了极大的效力和灵活性.不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类 ...

  6. (剑指Offer)面试题15:链表中倒数第k个结点

    题目: 输入一个链表,输出该链表中倒数第k个结点. 例如:链表中有6个结点,从头到尾依次为1,2,3,4,5,6,则该链表的倒数第3个结点为4. 链表结点定义: struct ListNode{ in ...

  7. 闲话Cache:始篇

    Caching(缓存)在现代的计算机系统中是一项最古老最基本的技术.它存在于计算机各种硬件和软件系统中,比如各种CPU, 存储系统(IBM ESS, EMC Symmetrix…),数据库,Web服务 ...

  8. sc7731 Android 5.1 Camera 学习之二 framework 到 HAL接口整理

    前面已经分析过,Client端发起远程调用,而实际完成处理任务的,是Server端的 CameraClient 实例.远程client 和 server是两个不同的进程,它们使用binder作为通信工 ...

  9. function设置jsp页面使用js控制文本框只读,并且按下backspace删除按钮后停在原页面

    最近一直在学习function设置之类的问题,现在正好有机会和大家分享一下. 设置只读 document.getElementById("projcode").setAttribu ...

  10. MySql中的事件

    一.前言 自MySQL5.1.0起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系 ...