1. 程式人生 > >安卓第二天跳轉(帶返回結果)+模擬登陸

安卓第二天跳轉(帶返回結果)+模擬登陸

在這裡插入圖片描述

先上佈局程式碼:
主介面:main_activity.xml

<?xml version="1.0" encoding="utf-8"?>



<com.example.autum.layotdemo.customview.CircleImageView
    android:id="@+id/head_pic"
    android:layout_width="150px"
    android:layout_height="150px"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="90dp"
    android:src="@mipmap/head" />

<TextView
    android:id="@+id/user_name_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/head_pic"
    android:layout_alignBottom="@id/user_name"
    android:layout_marginTop="15dp"
    android:layout_toLeftOf="@id/user_name"
    android:gravity="center_vertical"
    android:text="User Name:" />

<EditText
    android:id="@+id/user_name"
    android:layout_width="110dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/head_pic"
    android:layout_alignLeft="@id/head_pic"
    android:layout_centerHorizontal="true" />

<TextView
    android:id="@+id/password_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/user_name_text"
    android:layout_alignBottom="@id/password"
    android:layout_marginTop="15dp"
    android:layout_toLeftOf="@id/user_name"
    android:gravity="center_vertical"
    android:text="Password:" />

<EditText
    android:id="@+id/password"
    android:layout_width="110dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/user_name"
    android:layout_alignLeft="@id/head_pic"
    android:layout_centerHorizontal="true" />

<Button
    android:id="@+id/login"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/password_text"
    android:layout_alignLeft="@id/password_text"
    android:onClick="onLogin"
    android:text="登入" />

<Button
    android:id="@+id/register"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/password_text"
    android:layout_centerHorizontal="true"
    android:layout_toRightOf="@id/login"
    android:onClick="onRegister"
    android:text="註冊" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="15dp"
    android:text="copyright:不幾根不幾根之小母雞" />

註冊介面:
在這裡插入圖片描述
佈局程式碼:activity_register.xml

<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:text="Register"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="40dp"
    android:textColor="#FFAA80"
    android:textSize="10pt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<com.example.autum.layotdemo.customview.CircleImageView
    android:id="@+id/head_pic_register"
    android:layout_width="150px"
    android:layout_height="150px"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="90dp"
    android:src="@mipmap/head" />

<TextView
    android:id="@+id/user_name_register_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/head_pic"
    android:layout_alignBottom="@id/user_name_register"
    android:layout_marginTop="15dp"
    android:layout_toLeftOf="@id/user_name_register"
    android:gravity="center_vertical"
    android:text="User Name:" />

<EditText
    android:id="@+id/user_name_register"
    android:layout_width="110dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/head_pic_register"
    android:layout_alignLeft="@id/head_pic_register"
    android:layout_centerHorizontal="true" />

<TextView
    android:id="@+id/password_register_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/user_name_register_text"
    android:layout_alignBottom="@id/password_register"
    android:layout_marginTop="15dp"
    android:layout_toLeftOf="@id/user_name_register"
    android:gravity="center_vertical"
    android:text="Password:" />

<EditText
    android:id="@+id/password_register"
    android:layout_width="110dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/user_name_register"
    android:layout_alignLeft="@id/head_pic_register"
    android:layout_centerHorizontal="true" />

<Button
    android:id="@+id/confirm"
    android:onClick="onConfirm"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/password_register_text"
    android:layout_alignLeft="@id/password_register_text"
    android:text="確定" />

<Button
    android:id="@+id/reset"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/password_register_text"
    android:layout_centerHorizontal="true"
    android:layout_toRightOf="@id/confirm"
    android:onClick="onReset"
    android:text="重置" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="15dp"
    android:text="copyright:不幾根不幾根之小母雞" />
下面介紹主介面的程式碼:Main_Activity.class

package com.example.autum.layotdemo;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import com.example.autum.layotdemo.activity.RegisterAcitvity;

public class MainActivity extends AppCompatActivity {
private EditText userName;
private EditText password;
//—
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//這裡連結佈局.xml檔案
setContentView(R.layout.activity_main);
initControls();
}
//初始化兩個EditText控制元件
private void initControls() {
userName = findViewById(R.id.user_name);
password = findViewById(R.id.password);
}
//由於我的登入按鈕中設定了onClick="onLogin"屬性,所i這裡onLogin方法就是登入按鈕的點選監聽方法
public void onLogin(View view){
if (userName.getText().toString().trim().equals(“lee”)&&password.getText().toString().trim().equals(“123456”)){
Toast.makeText(this,“登入成功”,Toast.LENGTH_LONG).show();
}else {
Toast.makeText(this, “使用者名稱或密碼錯誤!”, Toast.LENGTH_SHORT).show();
}
}
//onClick=“onRegister”
public void onRegister(View view) {
//intent類是安卓介面跳轉的方法
Intent intent = new Intent();
//設定需要跳轉的Activity
intent.setClass(this, RegisterAcitvity.class);
//這裡是選擇了一個能帶結果返回的一個Intent,如果直接跳轉,使用this.startActivity(intent);
this.startActivityForResult(intent, 101);
}
//這是從Register_Activity中返回的註冊資料,並顯示到編輯框中
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 101) {
if(resultCode == 202){
String userNameForResult = data.getStringExtra(“userName”);
String passwordForResult = data.getStringExtra(“password”);
userName.setText(userNameForResult);
password.setText(passwordForResult);
}
}
}
}
這裡是註冊介面主要程式碼,主要功能獲取填寫的User Name和Password資料
Register_Activity.class
package com.example.autum.layotdemo.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import com.example.autum.layotdemo.R;

public class RegisterAcitvity extends Activity {
private EditText userNameRegister;
private EditText passwordRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
initControls();
}
//初始化控制元件
private void initControls(){
userNameRegister = findViewById(R.id.user_name_register);
passwordRegister = findViewById(R.id.password_register);
}
//確認按鈕的點選事件
public void onConfirm(View view){
//點選確認之後,獲取編輯欄中的文字
String userName = userNameRegister.getText().toString().trim();
String password= passwordRegister.getText().toString().trim();
// 設定一個Intent傳遞資料
Intent intent1 = new Intent();
//將資料存到Extra中,以便在另一個Activity獲取
intent1.putExtra(“userName”,userName);
intent1.putExtra(“password”,password);
//返回結果,設定resultCode,以便檢查資料
setResult(202,intent1);
finish();
}
//重置的點選事件,將EditText置為空
public void onReset(View view){
userNameRegister.setText("");
passwordRegister.setText("");
}
}
當然這裡講的比較片面,如果想繼續深入Intent,請轉到官網:https://developer.android.google.cn/reference/android/content/Intent

小新提示:activity想要顯示是需要註冊的喲!
在這裡插入圖片描述