登陆 记住密码

来源:互联网 发布:西门子触摸屏编程 编辑:程序博客网 时间:2024/05/19 04:54

一.将以下三个图片  放入新建的项目的drawable中。


二.建一个login_top.xml 

代码如下:<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_db">
>
<EditText
android:layout_margin="10dp"
android:id="@+id/etName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:background="@drawable/login_text"
android:inputType="textPassword"
android:drawableLeft="@drawable/icon_user"
android:hint="@string/etName"
><requestFocus/>
</EditText>

<EditText
android:layout_margin="10dp"
android:id="@+id/et_pass"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:background="@drawable/login_text"
android:drawableLeft="@drawable/icon_pass"
android:layout_below="@+id/etName"
android:hint="请输入密码"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<requestFocus/>
</EditText>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/et_pass"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">

<CheckBox
android:text="@string/check_a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/check_a"
android:textSize="20sp"/>

<Button
android:layout_marginLeft="10dp"
android:text="@string/a_login"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/btn_login"
android:background="@drawable/btn_select"
android:onClick="login"
/>
</LinearLayout>

</RelativeLayout>


strings.xml代码如下:

<resources>    <string name="app_name">login_rember</string>    <string name="etName">请输入账号</string>    <string name="et_pass">请输入密码</string>    <string name="a_login">登录</string>    <string name="check_a">记住密码</string></resources>
btn_select.xml代码如下:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/btn_shape"    android:state_pressed="true"></item>    <item android:drawable="@drawable/btn_shape"        android:state_pressed="true"        >    </item>    <item android:drawable="@drawable/btn_shape_after"        android:state_pressed="false"        >    </item></selector>
btn_shape.xml代码如下:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/btn_shape"    android:state_pressed="true"></item>    <item android:drawable="@drawable/btn_shape"        android:state_pressed="true"        >    </item>    <item android:drawable="@drawable/btn_shape_after"        android:state_pressed="false"        >    </item></selector>
btn_shape_after.xml代码如下:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <solid android:color="#87cefa"></solid>    <corners android:radius="10dp"></corners></selector>
login_db.xml代码如下:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <corners android:radius="10dp"></corners>    <solid android:color="#ADD8E6"></solid></shape>
login_text.xml代码如下:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <corners android:radius="5dp"></corners>    <solid android:color="#FFFFFF"></solid></shape>
login_bg.xml代码如下:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"><gradient    android:startColor="#FFACDAES"    android:endColor="#FF72CAE1"    android:angle="45"></gradient></shape>
activity_main.xml代码如下:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:background="@drawable/login_db"    tools:context="com.example.zxh.login_rember.MainActivity">    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:srcCompat="@drawable/deer"        android:id="@+id/imageView"        android:layout_alignParentBottom="true"        android:layout_alignParentRight="true"        android:layout_alignParentEnd="true" />    <include layout="@layout/login_top"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_alignParentLeft="true"        android:layout_alignParentStart="true" /></RelativeLayout>
MainActivity代码如下:
package com.example.zxh.login_rember;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private EditText et_pass;    private EditText etName;    private CheckBox check_a;    private SharedPreferences sharedPreferences;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initViews();        sharedPreferences=getSharedPreferences("check_a", Context.MODE_PRIVATE);        boolean isRember=sharedPreferences.getBoolean("check_a",false);        if(isRember){            String name=sharedPreferences.getString("name","");            String password=sharedPreferences.getString("password","");            etName.setText(name);            et_pass.setText(password);        }    }    private void initViews(){        etName=(EditText)findViewById(R.id.etName);        et_pass=(EditText)findViewById((R.id.et_pass));        check_a=(CheckBox) findViewById(R.id.check_a);    }    public void login(View view){        String name=etName.getText().toString();        String password=et_pass.getText().toString();        if("admin".equals(name)&&"123456".equals(et_pass)){            SharedPreferences.Editor editor=sharedPreferences.edit();            if(check_a.isChecked()){                editor.putBoolean("check_a",true);                editor.putString("name",name);                editor.putString("password",password);            }else{                editor.clear();            }            editor.commit();            Intent intent=new Intent(this.MainActivity.class);            startActivity( intent );            finish();        }else{            Toast.makeText(this,"账号或密码有误",Toast.LENGTH_LONG).show();        }    }
新建一个activity在layout下的activity_main2,代码如下:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main2"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.zxh.login_rember.Main2Activity">    <TextView        android:text="Welcome you"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_alignParentLeft="true"        android:layout_alignParentStart="true"        android:textSize="40sp"        android:layout_marginTop="198dp"        android:id="@+id/textView" /></RelativeLayout>
三.结果 如下:

1 0