1.新建一个工程,名为Case_Login1
2.把工程所需图片放在res/drawable
3.在res/drawable下创建文件,用来描述按钮显示的不同颜色,圆角,圆角背景,背景图片
代码如图:
(1)logintop_roundbg.xml(圆角背景颜色)
(2)btn_select.xml(按钮显示的颜色)
btn_shape.xml
btn_shape_after.xml
(3)loginbg.xml(背景图片)
4.在layout下建一个xml文件,名为login_top.xml,布局为RelativeLayout,用来描述上半部分
同时在strings中编写如下代码:
(5)在activity_login.xml配置背景图片
(6)配置LoginActivity(用来显示记住密码)
package cn.edu.bzu.case_login1;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class LoginActivity extends AppCompatActivity {
private EditText etName;
private EditText etPassword;
private CheckBox cbIsRememberPass
private SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
initViews();
sharedPerferences=getSharedPreFerences("rememberpassword",Context.MODE_PRIVATE);
boolean isRemember=sharedPreferences.getBoolean("rememberpassword",false);
if (isRemember){
String name=sharedPreferences.getPreferences.getString("name","");
String password=sharedPreferences.getPreferences.getString("password","");
etName.setText(name);
etPassword.setText(password);
cbIsRememberPass.setChecked(true);
}
}
private void initViews(){
etName=(EditText) findViewById(R.id.etName);
etPassword=(EditText) findViewById(R.id.etPassword);
cbIsRememberPass=(CheckBox) findViewById(R.id.cbIsRememberPass);
}
public void login(View view){
String name=etName.getText().toString();
String password=etPassword.getText().toString();
if ("admin".equals(name)&&"123456".equals(password)){
SharePreference.Editor editor=sharedPreferences.editor();
if (cbIsRememberPass.isChecked()){
editor.putBooilean("rememberpassword",true);
editor.putString("name",name);
editor.putString("name",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,用来描述登陆成功后的页面
(7)结果图: