------- 源自梦想永远是你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. OpenWrt compiles

    make -r world: build failed. Please re-run make with -j1 V=s to see what's going onmake: *** [world] ...

  2. 第一个MyBatis程序

    最近研究了一些MyBatis技术,虽然工作中还未用到,但是觉得了解一下也是不错的.这里记录了第一个简单的Demo程序,防止自己忘记. 第一步需要配置Mybatis-config.xml文件.注意:这里 ...

  3. 使用java连接hive,并执行hive语句详解

    安装hadoop 和 hive我就不多说了,网上太多文章 自己看去 首先,在机器上打开hiveservice hive --service hiveserver -p 50000 & 打开50 ...

  4. C#基础学习心得(二)

    索引器 class Program { static void Main(string[] args) { Employee e1 = new Employee(); e1[0] = "三& ...

  5. NPOI新建和读取EXCEL

    //基本NPOI 1.2.5.0 static void Main(string[] args) { string path = string.Format("E:\\export{0}.x ...

  6. filezilla无法连接linux服务器

    问题描述: 响应: 220 (vsFTPd 2.2.2)命令: AUTH TLS错误: 无法连接到服务器状态: 已从服务器断开 排查步骤: 1 检查服务器IP地址.用户名.密码是否正确 2 在控制面板 ...

  7. Android系统休眠对程序的影响以及处理

    Android系统在用户长时间不操作时,为了节省资源,系统会选择休眠.在休眠过程中自定义的Timer.Handler.Thread.Service等都会暂停.而有时候这种机制会影响到我们程序的正常运行 ...

  8. pl sql练习(2)

    1.尽可能了解oracle的功能,因为很多业务逻辑oracle已经为我们做了,比如oracle已经预定义了大量的异常代码,我们不必要写自己的异常而增加代码的复杂度. 例如oracle定义了当找不到符合 ...

  9. 关于javascript 数组的正态分布排序的一道面试题

    最近几天顶着上海40°的凉爽天气找工作,心里是开心的不要不要的,每次面试都是要坐那里出半天汗才能回过神来,感觉到了这个世界对我深深的爱意,言归正传,面试过程中碰到了几次笔试,其中有这么一道题,由于实际 ...

  10. thinkPHP入门 一

    简介 ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开 ...