《Android项目实战-博学谷》设置部分

本文介绍了一个简单的设置界面设计与实现过程,包括修改密码、设置密保和退出登录等功能,并详细展示了XML布局文件及对应的Activity代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置界面

思路

设置界面有三个功能,分别为修改密码、设置密保和退出登录。创建 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();//提交修改
    }
}

运行效果

运行效果

### Android项目实战教程——博学 #### 关于Eclipse开发环境下的Android项目实战 在Eclipse环境下进行Android项目开发是一种经典的方式,尽管目前主流趋势已经转向使用Android Studio作为主要IDE工具,但对于学习者来说,了解如何通过Eclipse构建和运行Android应用仍然具有一定的价值。以下是基于Eclipse的Android项目实战教程的相关内容: 1. **创建和运行Android项目** 初学者可以通过配置Eclipse IDE来启动第一个Android项目。这包括安装ADT插件以及设置SDK路径等基本操作[^1]。 2. **核心功能模块实现** - 欢迎界面设计:提供用户进入应用程序后的初始视图[^1]。 - 注册与登录界面:支持新用户的注册流程及已有账户的验证过程。 - 导航栏布局:底部导航栏用于切换不同的页面或功能区[^1]。 - 用户个人信息管理:“我”的模块允许查看并编辑个人资料[^1]。 3. **高级特性集成** - 广告轮播展示:利用水平滑动广告栏提升用户体验。 - 多媒体处理能力:无论是本地还是网络上的视频文件都可以被加载到播放器中[^1]。 - 数据持久化存储:保存用户的观看历史以便后续访问。 4. **实际案例分析** 整个项目涵盖了从基础UI组件的应用到复杂业务逻辑的设计等多个方面,并且提供了详细的步骤说明和截图指导[^2]。它不仅适用于初学者快速入门,也能够帮助有一定经验开发者深入理解某些特定技术点。 #### 开发环境准备事项 为了顺利完成这些教学中的实例练习,请确认您的计算机已正确安装以下软件及其对应版本号: - Eclipse IDE (推荐使用Luna SR2 Release) - Android Development Tools (ADT Plugin Version 23.0.6) - Android SDK Tools (Version 24.4.1 或更高版次) - 虚拟设备测试工具如夜神模拟器等可以用来预览最终成果[^2] ```bash # 安装命令示例(假设Linux系统) sudo apt-get update && sudo apt-get install eclipse-platform android-sdk-tools ``` #### 推荐的学习方法论 建议按照官方文档或者社区分享出来的指南逐步推进每一个环节,在遇到困难时查阅相关API手册或是寻求在线论坛的帮助。同时也要注重动手实践频率,只有不断尝试才能更好地掌握知识点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值