设置界面
思路
设置界面有三个功能,分别为修改密码、设置密保和退出登录。创建 SettingActivity ,修改布局为 LinearLayout
具体代码如下:
activity_setting.xml
<?xml version="1.0" encoding="utf-8"?>
<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:background="@android:color/white"
android:orientation="vertical"
tools:context="cn.edu.lt.android.boxueguapp.activity.SettingActivity">
<include layout="@layout/main_title_bar" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginTop="15dp"
android:background="#E3E3E3" />
<RelativeLayout
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">
<TextView
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" />
<ImageView
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" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#E3E3E3" />
<RelativeLayout
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">
<TextView
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" />
<ImageView
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" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#E3E3E3" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginTop="15dp"
android:background="#E3E3E3" />
<RelativeLayout
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">
<TextView
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" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#E3E3E3" />
</LinearLayout>
设置逻辑
思路
在设置界面中添加点击事件,当点击修改密码时跳转到修改密码界面,当点击设置密保时跳转到设置密保界面,当点击退出登录时清除登录状态和用户名,且将退出的状态传递给主界面
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();//提交修改
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。