Android项目 手机安全卫士(代码最全,注释最详细)之十二 设置中心的界面
按惯例,写在前面的:可能在学习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"
Android项目 手机安全卫士(代码最全,注释最详细)之十二 设置中心的界面的更多相关文章
- Android小项目之十二 设置中心的界面
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Cordova Android项目如何做代码混淆
我想修改build.gradle配置 可是这个文件明确写了// GENERATED FILE! DO NOT EDIT!可是还是试了试: if (cdvReleaseSigningProperties ...
- 手机自动化测试:appium源码分析之bootstrap十二
手机自动化测试:appium源码分析之bootstrap十二 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...
- “全栈2019”Java第九十二章:外部类与内部类成员覆盖详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第十二章:变量
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十二章:控制流程语句中的决策语句if-else
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 【边做项目边学Android】手机安全卫士05_2:程序主界面,为每一个条目加入事件
为每一个条目加入点击事件监听器 gv_main.setOnItemClickListener(this); 须要当前Activity实现OnItemClickListener接口.同一时候实现publ ...
- Android获取手机位置代码实现
1.项目Src下创建...service包,然后新建GPSService类 package com.zebra.mobilesafe.service; import java.io.IOExcepti ...
- Android 项目中文件夹作用(res文件夹详细介绍)
1. src:存放所有的*.Java源程序. 2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3. assets:可以存放项目一些较大的资源文件,例如: ...
随机推荐
- openstack API debug OpenstackEveryProject_CLI,curl_based
1,基于Openstack 每个服务组件client客户端,eg,nova 客户端软件包名称是python-novaclient, 别的都一样,把python-novaclient (nova替换成组 ...
- wget命令3(转载)
Wget下载终极用法和15个详细的例子 Wget是一种很好用的因特网下载工具,他具有的很多特性是其他工具所不能比拟的,再者他是一个轻量级可配置的下载工具. 本文结合例子介绍Windows下wget的多 ...
- poj 2395 Out of Hay(最小生成树,水)
Description The cows have run <= N <= ,) farms (numbered ..N); Bessie starts at Farm . She'll ...
- Java程序员面试题集(86-115)
摘 要:下面的内容包括Struts 2和Hibernate的常见面试题,虽然Struts 2在2013年6月曝出高危漏洞后已经显得江河日下,而Spring MVC的异军突起更加加速了Struts 2的 ...
- Android应用程序组件Content Provider简要介绍和学习计划
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6946067 在Android系统中,Conte ...
- SpringMVC+JPA+Hibernate配置
首先,Spring配置文件 <?xml version="1.0" encoding="UTF-8"?><beans xmlns=" ...
- (Oracle EBS)和标准用户有关的处理的API [Z]
/* 和标准用户有关的处理的API. */ ---和用户处理有关的API FND_USER_PKG ---和用户密码处理有关的API fnd_web_sec ---和用户职责处理有关的API FND_ ...
- map——映射(message.cpp)
信息交换 (message.cpp) [题目描述] Byteland战火又起,农夫John派他的奶牛潜入敌国获取情报信息. Cow历尽千辛万苦终于将敌国的编码规则总结如下: 1 编码是由大写字母组成的 ...
- 个人的IDE制作(vim)——适用于C++/C
引用文章A:http://learnvimscriptthehardway.onefloweroneworld.com/ 引用介绍:初学者建议通读一遍.对VIM能有整体性的了解. 引用文章B:http ...
- 初始AngularJS
<!-- AngularJS 通过 ng-directives 扩展了 HTML. ng-app 指令定义一个 AngularJS 应用程序. ng-model 指令把元素值(比如输入域的值)绑 ...