<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;">运行结果如下:</span>
<span style="color:#6666cc;TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; DISPLAY: inline !important; FONT: bold 18px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; FLOAT: none; LETTER-SPACING: normal; WORD-SPACING: 0px; -webkit-text-stroke-width: 0px">登陆界面:</span>
<p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)">
<img style="MAX-WIDTH: 98%" alt="" src="https://img-blog.csdn.net/20150609223927584?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemd5MjI1MjE0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" /></span></span></span></span></span></span></span></span></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)">记住密码:</span></span></span></span></span></span></span></span></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)"><img style="MAX-WIDTH: 98%" alt="" src="https://img-blog.csdn.net/20150609224005115?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemd5MjI1MjE0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" /></span></span></span></span></span></span></span></span></p><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)"></span></span></span></span></span></span></span></span><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)">自动登录:</span></span></span></span></span></span></span></span></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)"><img style="MAX-WIDTH: 98%" alt="" src="https://img-blog.csdn.net/20150609224100108?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemd5MjI1MjE0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" /></span></span></span></span></span></span></span></span></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)">观看自动登录结果:</span></span></span></span></span></span></span></span></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)"><img style="MAX-WIDTH: 98%" alt="" src="https://img-blog.csdn.net/20150609224136318?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemd5MjI1MjE0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" /></span></span></span></span></span></span></span></span></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="FONT-WEIGHT: bold"><span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)"></span></span></span></span></span></span></span> <span style="FONT-SIZE: 18px"><span style="COLOR: rgb(102,102,204)"><span><span><span><span><span style="BACKGROUND-COLOR: rgb(255,255,255)">要实现一个手机记住密码和自动登录界面,步骤如下,首先先看一下需要建立一下类;</span></span></span></span></span></span></span></span></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><img style="MAX-WIDTH: 98%" alt="" src="https://img-blog.csdn.net/20150609222211199?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemd5MjI1MjE0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" /></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"><span style="font-size:18px;color:#660cc;"><span style="FONT-WEIGHT: bold">第一步:在res/layout/下建立activity_main.xml,实现一下整体布局背景</span></span></p><p style="PADDING-BOTTOM: 2px; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 12px Arial, Helvetica, sans-serif; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 2px; -webkit-text-stroke-width: 0px"></p><pre style="LINE-HEIGHT: normal; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(240,240,240); FONT-VARIANT: normal; FONT-STYLE: normal; TEXT-INDENT: 0px; MARGIN: 4px 0px; LETTER-SPACING: normal; COLOR: rgb(0,0,0); FONT-SIZE: 12px; FONT-WEIGHT: normal; WORD-SPACING: 0px; -webkit-text-stroke-width: 0px" class="html" name="code"><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:orientation="vertical"
android:background="@drawable/loginbg"
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=".MainActivity" >
<include layout="@layout/login_top"/>
<include layout="@layout/login_bottom"/>"
</LinearLayout>
第二步:在res/layout下建立login_bottom.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="wrap_content" >
<TextView
android:id="@+id/tvRegist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="21dp"
android:layout_marginTop="18dp"
android:text="@string/tvRegister"
android:autoLink="all"
android:textColorLink="#FF0066CC" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="24dp"
android:src="@drawable/panda" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="28dp"
android:src="@drawable/icon" />
</RelativeLayout>
第三步:在res/layout下建立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="wrap_content"
android:background="@drawable/btnbg_roundcorner"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<TextView
android:id="@+id/tvUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/tvName"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/etUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tvUsername"
android:layout_below="@+id/tvUsername"
android:background="@android:drawable/edit_text"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/tvPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/etUsername"
android:layout_below="@+id/etUsername"
android:text="@string/tvPassword"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tvPassword"
android:layout_below="@+id/tvPassword"
android:layout_marginTop="16dp"
android:background="@android:drawable/edit_text"
android:ems="10"
android:inputType="textPassword" />
<Button
android:id="@+id/btnLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/etPassword"
android:layout_below="@+id/etPassword"
android:layout_marginTop="20dp"
android:onClick="to2"
android:background="#9A32CD"
android:text="@string/btnLogin" />
<CheckBox
android:id="@+id/cbRememberPass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/etPassword"
android:layout_alignTop="@+id/btnLogin"
android:text="记住密码" />
<CheckBox
android:id="@+id/autologin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/cbRememberPass"
android:layout_alignBottom="@+id/cbRememberPass"
android:layout_toRightOf="@+id/cbRememberPass"
android:text="自动登录" />
</RelativeLayout>
第四步:在res/layout下建立newpager.xml文件,对跳转界面进行编辑
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B23AEE"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_margin="80dp"
android:layout_weight="10"
android:text="张桂云!!!"
android:textSize="40dp" />
</LinearLayout>
第五步:在src下建立MainActivity.java文件
package com.example.minitwittersimulate;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText name;
private EditText pass;
private CheckBox isRemenber;
private CheckBox isLoginSelf;
private Button longin;
private ProgressDialog mDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
name=(EditText) findViewById(R.id.etUsername);
pass=(EditText) findViewById(R.id.etPassword);
isRemenber=(CheckBox) findViewById(R.id.cbRememberPass);
isLoginSelf=(CheckBox) findViewById(R.id.autologin);
longin=(Button) findViewById(R.id.btnLogin);
final SharedPreferences sharedPreferences=getSharedPreferences("data",MODE_PRIVATE);
if(sharedPreferences!=null)
{
if(sharedPreferences.getBoolean("isrmb",false)==true)
{
name.setText(sharedPreferences.getString("name",null));
pass.setText(sharedPreferences.getString("pass",null));
isRemenber.setChecked(true);
}
if(sharedPreferences.getBoolean("islgs",false)==true)
{
isLoginSelf.setChecked(true);
ceratDialog();
new Thread()
{
public void run()
{
try{
Thread.sleep(3000);
if(mDialog.isShowing())
{
mDialog.dismiss();
}
Intent intent2=new Intent(MainActivity.this,newpager.class);
startActivity(intent2);
//finish();
}catch(Exception e)
{
}
}
}.start();
}
}
isRemenber.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isRemenber.isClickable()==false)
{
isLoginSelf.setChecked(false);
}
}
});
isLoginSelf.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
isRemenber.setChecked(true);
}
});
longin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(!name.getText().toString().equals("") && !pass.getText().toString().equals(""))
{
if(isLoginSelf.isChecked())
{
sharedPreferences.edit().putBoolean("isrmb",true).putBoolean("islgs",true).putString("name",name.getText().toString()).putString("pass",pass.getText().toString()).commit();
}
else
if(isRemenber.isChecked())
{
sharedPreferences.edit().putBoolean("isrmb",true).putBoolean("islgs",false).putString("name",name.getText().toString()).putString("pass",pass.getText().toString()).commit();
}
else
{
sharedPreferences.edit().putBoolean("isrmb",false).putBoolean("islgs",false).putString("name",name.getText().toString()).putString("pass",pass.getText().toString()).putString("pass",pass.getText().toString()).commit();
}
Intent intent=new Intent(MainActivity.this,newpager.class);
startActivity(intent);
finish();
}
else{
Toast.makeText(getApplicationContext(), "密码或账号不能为空!",Toast.LENGTH_LONG).show();
}
}
});
}
/** public void to2 (View view)
{
Intent intent=new Intent();
intent.setClass(this,welcome.class);
startActivity(intent);
}
**/
/** public void save (View view)
{
SharedPreferences sharedPreferences=getSharedPreferences("data",MODE_PRIVATE);
Editor editor=sharedPreferences.edit();
editor.putString("username","user");
editor.putString("password","password");
editor.commit();
}
**/
private void ceratDialog()
{
mDialog=new ProgressDialog(this);
mDialog.setTitle("验证中");
mDialog.setMessage("正在登陆请稍后");
mDialog.setIndeterminate(true);
mDialog.setCancelable(true);
mDialog.show();
}
}
第六步:在src下建立newpager.java文件
package com.example.minitwittersimulate;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class newpager extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.newpager);
}
}