设置界面

思路

设置界面有三个功能,分别为修改密码、设置密保和退出登录。创建 SettingActivity ,修改布局为 LinearLayout

具体代码如下:

activity_setting.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@android:color/white"

android:orientation="vertical"

tools:context="cn.edu.lt.android.boxueguapp.activity.SettingActivity">

android:layout_width="fill_parent"

android:layout_height="1dp"

android:layout_marginTop="15dp"

android:background="#E3E3E3" />

android:id="@+id/rl_modify_psw"

android:layout_width="fill_parent"

android:layout_height="50dp"

android:background="#F7F8F8"

android:gravity="center_vertical"

android:paddingLeft="10dp"

android:paddingRight="10dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:layout_marginLeft="25dp"

android:text="修改密码"

android:textColor="#A3A3A3"

android:textSize="16sp" />

android:layout_width="15dp"

android:layout_height="15dp"

android:layout_alignParentRight="true"

android:layout_centerVertical="true"

android:layout_marginRight="25dp"

android:src="@drawable/iv_right_arrow" />

android:layout_width="fill_parent"

android:layout_height="1dp"

android:background="#E3E3E3" />

android:id="@+id/rl_security_setting"

android:layout_width="fill_parent"

android:layout_height="50dp"

android:background="#F7F8F8"

android:gravity="center_vertical"

android:paddingLeft="10dp"

android:paddingRight="10dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:layout_marginLeft="25dp"

android:text="设置密保"

android:textColor="#A3A3A3"

android:textSize="16sp" />

android:layout_width="15dp"

android:layout_height="15dp"

android:layout_alignParentRight="true"

android:layout_centerVertical="true"

android:layout_marginRight="25dp"

android:src="@drawable/iv_right_arrow" />

android:layout_width="fill_parent"

android:layout_height="1dp"

android:background="#E3E3E3" />

android:layout_width="fill_parent"

android:layout_height="1dp"

android:layout_marginTop="15dp"

android:background="#E3E3E3" />

android:id="@+id/rl_exit_login"

android:layout_width="fill_parent"

android:layout_height="50dp"

android:background="#F7F8F8"

android:gravity="center_vertical"

android:paddingLeft="10dp"

android:paddingRight="10dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:layout_marginLeft="25dp"

android:text="退出登录"

android:textColor="#A3A3A3"

android:textSize="16sp" />

android:layout_width="fill_parent"

android:layout_height="1dp"

android:background="#E3E3E3" />

设置逻辑

思路

在设置界面中添加点击事件,当点击修改密码时跳转到修改密码界面,当点击设置密保时跳转到设置密保界面,当点击退出登录时清除登录状态和用户名,且将退出的状态传递给主界面

SettingActivity

package cn.edu.lt.android.boxueguapp.activity;

import android.content.Context;

import android.content.Intent;

import android.content.SharedPreferences;

import android.graphics.Color;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.RelativeLayout;

import android.widget.TextView;

import android.widget.Toast;

import cn.edu.lt.android.boxueguapp.R;

/**

* Created by lt on 2018/1/2.

*/

public class SettingActivity extends AppCompatActivity {

private TextView tv_main_title;

private TextView tv_back;

private RelativeLayout rl_title_bar;

private RelativeLayout rl_modify_psw,rl_security_setting,rl_exit_login;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_setting);

init();

}

/**

* 获取界面控件

*/

private void init(){

//标题栏

tv_main_title=(TextView) findViewById(R.id.tv_main_title);

tv_main_title.setText("设置");

tv_back=(TextView) findViewById(R.id.tv_back);

rl_title_bar=(RelativeLayout) findViewById(R.id.title_bar);

rl_title_bar.setBackgroundColor(Color.parseColor("#30B4FF"));

rl_modify_psw=(RelativeLayout) findViewById(R.id.rl_modify_psw);

rl_security_setting=(RelativeLayout) findViewById(R.id.rl_security_setting);

rl_exit_login=(RelativeLayout) findViewById(R.id.rl_exit_login);

//返回的点击事件

tv_back.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

SettingActivity.this.finish();

}

});

//修改密码的点击事件

rl_modify_psw.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//TODO 跳转到修改密码

}

});

//设置密保的点击事件

rl_security_setting.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

}

});

//退出登录的点击事件

rl_exit_login.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

clearLoginStatus();

Toast.makeText(SettingActivity.this, "退出登录成功", Toast.LENGTH_SHORT).show();

clearLoginStatus();//清除登录状态和登录时的用户名

//退出登录成功后把退出成功的状态传递到MainActivity中

Intent data =new Intent();

data.putExtra("isLogin", false);

setResult(RESULT_OK, data);

SettingActivity.this.finish();

}

});

}

/**

* 清除SharedPreferences中的登录状态和登录时的用户名

*/

private void clearLoginStatus() {

SharedPreferences sp=getSharedPreferences("loginInfo", Context.MODE_PRIVATE);

SharedPreferences.Editor editor=sp.edit();//获取编辑器

editor.putBoolean("isLogin", false);

editor.putString("loginUserName", "");

editor.commit();//提交修改

}

}

运行效果

android博学谷布局,《Android项目实战-博学谷》设置部分相关推荐

  1. 《Android项目实战-博学谷》应用图标欢迎界面

    前言 本项目使用Android Studio 3.0.1作为开发工具,参照传智播客教材<Android项目实战--博学谷> 创建项目 可参照落萚简书文集--Android安全卫士开发笔记, ...

  2. 关于《基于eclipse的android项目实战—博学谷》的问题,为了这个差点疯了

    前面都是废话,想要干的直接点我你就对了 <基于eclipse的android项目实战-博学谷>这篇文章已经一个星期没有更新了,原因是后面出了些问题,然后我花了整整一个星期才解决. < ...

  3. 基于eclipse的android项目实战—博学谷(二十三)其他功能

    本项目是用eclipse软件编写,经过我的亲自实践,其真实有效,希望能给您有所帮助 项目版本:android5.1.1 ADT版本:23.0.6 SDK版本:24.4.1 运行模拟器:夜神模拟器 若有 ...

  4. 基于eclipse的android项目实战—博学谷(十九)播放不同视频(本地视频)

    BoXueGu资源下载链接: https://download.csdn.net/download/hyh/19477319 BoXueGu图片资源下载(免费): https://yuyunyaohu ...

  5. 基于eclipse的android项目实战—博学谷(十八)播放不同视频(网络视频)

    相信经过了这么长时间,小伙伴们应该都发现了博学谷这个项目存在问题,播放视频的时候,无论播放任何一个章节,他播放的视频都只是一个,也就是VideoPlayActivity.java里面写死的那个(myv ...

  6. 5G 时代的 Android App 开发入门与项目实战

    随着移动互联网的持续发展,Android系统从智能手机逐步拓展到平板电脑.智能电视.车载大屏.智能家居.智能手表等诸多设备,Android开发依然是前景可期的IT岗位. 当然,整个社会正在迈向5G时代 ...

  7. Android零基础开发到项目实战

    Android零基础开发到项目实战(目录) 前言:本教程适合零基础学习安卓开发的伙伴,下面是目录,本博主会每天定时更新每一章节的教程,未完..... 一.Java基础阶段 day01_Java语言概述 ...

  8. 《Android App开发进阶与项目实战》出版后记

    <Android App开发入门与项目实战>刚写完,我马上着手编写它的姊妹篇<Android App开发进阶与项目实战>,因为开发入门一书比较基础,还需要一本讲解高级开发与新技 ...

  9. 《Android App开发进阶与项目实战》资源下载和内容勘误

    资源下载 下面是<Android App开发进阶与项目实战>一书用到的工具和代码资源: 1.本书使用的Android Studio版本为4.2,最新的安装包可前往Android官网页面下载 ...

  10. 《Android App开发入门与项目实战》出版后记

    <Android Studio开发实战:从零基础到App上线>自面世以来,承蒙众多朋友的抬爱,该书一直保持不错的销量,其中第一版的出货量突破一万,第二版的出货量即将突破两万.对于一个程序员 ...

最新文章

  1. 动态规划—最长公共子序列问题 HDU-1159 Common Subsequence
  2. Oracle表空间文件损坏后的排查及解决
  3. Hello World程序里居然有bug!
  4. Interview QA - 房间里有三盏灯,屋里有三个开关分别控制这三盏灯。如何只进入房间一次就知道哪一个开关控制哪一盏灯?
  5. 开始写博客,毕业一年的收获
  6. c++ 数组换行_C语言的数组的构建与打印
  7. matlab绘制球面模型_MATLAB采用surf/surfc/surfl/surfnorm绘制球体
  8. jsp+servlet+java 实现统计在线人数
  9. JSON与Protocol Buffers的一些比较
  10. bookkeeper源码解析
  11. 为什么css效果在本地测试没问题,上传到服务器后却显示位置乱动,css下拉菜单本地正常,上传后360浏览器中显示错位,火狐、IE8显示正常...
  12. 浏览器本地存储(cookie、sessionStorage和localStorage)
  13. Pausing and Resuming an Activity
  14. 在Web开发中完美控制IE标题栏
  15. Linux常用的查找命令总结
  16. ad 报错Minimum Solder Mask Sliver
  17. 三分钟计算机自我介绍面试,三分钟面试自我介绍【三篇】
  18. 【常用命令】一键屏幕截屏操作
  19. 软件变异体测试(mutation test)
  20. 美女硕士养猪记:如何用大数据激活一头猪

热门文章

  1. css3 乌云散去,纯css实现乌云密布的天气图标效果
  2. 内部管理类软件基础架构思想(思路图解 + 配套免费视频)
  3. 操盘手与散户老妈的对话 看完后所有人都沉默了
  4. 公理设计:由奇怪海战引发的软件设计思考
  5. 学习Ajax框架之dojo:第六节——dojo类的声明和继承(附源代码)
  6. 功利性读书,提升认知效率
  7. uva 11355(极角计算)
  8. GHz指计算机的,ghz指的是计算机的
  9. 城市电力地下电子标识器定位仪CK-GTR680双频段多星座GNSS系统说明
  10. 【Java设计模式 设计模式与范式】创建型模式 四:抽象工厂模式