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:可以存放项目一些较大的资源文件,例如: ...
随机推荐
- OpenWrt compiles
make -r world: build failed. Please re-run make with -j1 V=s to see what's going onmake: *** [world] ...
- 第一个MyBatis程序
最近研究了一些MyBatis技术,虽然工作中还未用到,但是觉得了解一下也是不错的.这里记录了第一个简单的Demo程序,防止自己忘记. 第一步需要配置Mybatis-config.xml文件.注意:这里 ...
- 使用java连接hive,并执行hive语句详解
安装hadoop 和 hive我就不多说了,网上太多文章 自己看去 首先,在机器上打开hiveservice hive --service hiveserver -p 50000 & 打开50 ...
- C#基础学习心得(二)
索引器 class Program { static void Main(string[] args) { Employee e1 = new Employee(); e1[0] = "三& ...
- NPOI新建和读取EXCEL
//基本NPOI 1.2.5.0 static void Main(string[] args) { string path = string.Format("E:\\export{0}.x ...
- filezilla无法连接linux服务器
问题描述: 响应: 220 (vsFTPd 2.2.2)命令: AUTH TLS错误: 无法连接到服务器状态: 已从服务器断开 排查步骤: 1 检查服务器IP地址.用户名.密码是否正确 2 在控制面板 ...
- Android系统休眠对程序的影响以及处理
Android系统在用户长时间不操作时,为了节省资源,系统会选择休眠.在休眠过程中自定义的Timer.Handler.Thread.Service等都会暂停.而有时候这种机制会影响到我们程序的正常运行 ...
- pl sql练习(2)
1.尽可能了解oracle的功能,因为很多业务逻辑oracle已经为我们做了,比如oracle已经预定义了大量的异常代码,我们不必要写自己的异常而增加代码的复杂度. 例如oracle定义了当找不到符合 ...
- 关于javascript 数组的正态分布排序的一道面试题
最近几天顶着上海40°的凉爽天气找工作,心里是开心的不要不要的,每次面试都是要坐那里出半天汗才能回过神来,感觉到了这个世界对我深深的爱意,言归正传,面试过程中碰到了几次笔试,其中有这么一道题,由于实际 ...
- thinkPHP入门 一
简介 ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开 ...