設置界面有三個功能,分別爲修改密碼、設置密保和退出登陸。建立 SettingActivity ,修改佈局爲 LinearLayout java
具體代碼以下:android
<?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>
在設置界面中添加點擊事件,當點擊修改密碼時跳轉到修改密碼界面,當點擊設置密保時跳轉到設置密保界面,當點擊退出登陸時清除登陸狀態和用戶名,且將退出的狀態傳遞給主界面app
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();//提交修改 } }