------- 源自梦想永远是你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. Cordova Android项目如何做代码混淆

    我想修改build.gradle配置 可是这个文件明确写了// GENERATED FILE! DO NOT EDIT!可是还是试了试: if (cdvReleaseSigningProperties ...

  3. 手机自动化测试:appium源码分析之bootstrap十二

    手机自动化测试:appium源码分析之bootstrap十二   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  4. “全栈2019”Java第九十二章:外部类与内部类成员覆盖详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. “全栈2019”Java第十二章:变量

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. “全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. 【边做项目边学Android】手机安全卫士05_2:程序主界面,为每一个条目加入事件

    为每一个条目加入点击事件监听器 gv_main.setOnItemClickListener(this); 须要当前Activity实现OnItemClickListener接口.同一时候实现publ ...

  8. Android获取手机位置代码实现

    1.项目Src下创建...service包,然后新建GPSService类 package com.zebra.mobilesafe.service; import java.io.IOExcepti ...

  9. Android 项目中文件夹作用(res文件夹详细介绍)

    1. src:存放所有的*.Java源程序. 2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3. assets:可以存放项目一些较大的资源文件,例如: ...

随机推荐

  1. 正则表达式小试牛刀--匹配我的csdn博文标题

    正则表达式小试牛刀--匹配我的博文标题 作者:vpoet 邮箱:vpoet_sir@163.com 正则匹配,我以我的博客页面的博客标题为例:http://blog.csdn.net/u0130187 ...

  2. 【转】android 电池(一):锂电池基本原理篇

    关键词:android  电池关机充电 androidboot.mode charger 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV3 ...

  3. Linux 下的php,nginx,mysql的安装

    yum -y install wget make vim install gcc gcc-c++ ncurses ncurses-devel autoconf libjpeg libjpeg-deve ...

  4. wso2esb源码编译总结

    最近花了两周的空闲时间帮朋友把wso2esb的4.0.3.4.6.0.4.7.0三个版本从源码编译出来了.以下是大概的一些体会. wso2esb是基于carbon的.carbon是个基于eclipse ...

  5. CodePen&#39;s CSS

    p{text-indent:2em;}前端开发whqet,csdn,王海庆,whqet,前端开发专家 翻译自:CodePen's CSS 翻译人员:前端开发whqet,意译为主.不当之处欢迎大家指正. ...

  6. Unity sqlite学习笔记一

    1.SQLITE的常识 SQLite是一个开源免费的数据库,一般用于嵌入系统或者小规模的应用软件开发中,你可以像使用Access一样使用它. sqlite的主要优点:零配置(Zero Configur ...

  7. SQL SERVER 2005 请求失败或服务未及时响应

    出现的问题如图所示,在开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager中,打开 ...

  8. Android平台抓取native crash log

    Android开发中,在Java层可以方便的捕获crashlog,但对于 Native 层的 crashlog 通常无法直接获取,只能通过系统的logcat来分析crash日志. 做过 Linux 和 ...

  9. cocoapods导入第三方库

    1.移除现有Ruby默认源 终端:gem sources --remove https://rubygems.org/ 2.使用新的源 终端:gem sources -a https://ruby.t ...

  10. UI事件之load

    load事件属于CSS3规范中的UI事件,load事件处理程序在页面元素和资源(html/script/link/img等)全部加载完成后在window上触发,或在img元素加载完成后再img元素上触 ...