Android studio 多个界面跳转(意图的应用)
如下图所示,是建立的一些个文件,3个activity对应3个前端界面,本次实验要进行的是在MainActivity对register的跳转,MainActivity到login_Activity的跳转。
下面依次为这三个界面的图示
意图使用显示意图模式
实验操作的视频已经发布在个人的blog当中,是视频文件,大家可以去观看
以下是代码的部分
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/back"
tools:context=".MainActivity"
android:orientation="vertical"
>
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginLeft="180dp"
android:layout_marginTop="160dp"
android:background="@drawable/qq"/>
<TextView
android:id="@+id/lable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:text="QQ"
android:textSize="35dp"
android:textColor="@color/black"/>
<EditText
android:id="@+id/userName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入您的用户名"
android:textSize="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="18dp"/>
<EditText
android:id="@+id/psw"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入您的密码"
android:textSize="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="18dp"/>
<Button
android:id="@+id/btn_login"
android:layout_width="240dp"
android:layout_height="48dp"
android:text="登 录"
android:textColor="#FFFFFF"
android:backgroundTint="@android:color/darker_gray"
android:textSize="18dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"/>
<Button
android:id="@+id/to_register"
android:layout_width="240dp"
android:layout_height="48dp"
android:text="注 册"
android:textColor="#FFFFFF"
android:backgroundTint="@android:color/darker_gray"
android:textSize="18dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"/>
</LinearLayout>
activity_login.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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/shu"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/news_item_content_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="110dp"
android:layout_marginTop="300dp"
android:text="登录成功"
android:textSize="45dp" />
<Button
android:id="@+id/btn_logout"
android:layout_width="220dp"
android:layout_height="48dp"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="100dp"
android:layout_marginTop="400dp"
android:backgroundTint="@color/purple_200"
android:text="退 出"
android:textColor="@color/black"
android:textSize="18dp"
android:onClick="method1"
/>
</RelativeLayout>
activity_register.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/back"
tools:context=".MainActivity"
android:orientation="vertical"
>
<TextView
android:id="@+id/lable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:text="QQ"
android:textSize="35dp"
android:textColor="@color/black"/>
<EditText
android:id="@+id/userName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入您的用户名"
android:layout_marginLeft="40dp"
android:layout_marginTop="25dp"/>
<EditText
android:id="@+id/psword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入您的密码"
android:layout_marginLeft="40dp"
android:layout_marginTop="25dp"/>
<EditText
android:id="@+id/psword2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请再次输入您的密码"
android:layout_marginLeft="40dp"
android:layout_marginTop="25dp"/>
<Button
android:id="@+id/btn_register"
android:layout_width="220dp"
android:layout_height="40dp"
android:text="注 册"
android:textColor="#FFFFFF"
android:backgroundTint="@android:color/darker_gray"
android:textSize="18dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="25dp"/>
<Button
android:id="@+id/to_login"
android:layout_width="220dp"
android:layout_height="40dp"
android:text="返回登录"
android:textColor="#FFFFFF"
android:backgroundTint="@android:color/darker_gray"
android:textSize="18dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="25dp"/>
</LinearLayout>
Mainactivity.java
package com.example.myapplication;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
//这个是主界面
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView userName=findViewById(R.id.userName);
TextView psw=findViewById(R.id.psw);
Button btn_login=findViewById(R.id.btn_login);
Button to_register=findViewById(R.id.to_register);
String username=getIntent().getStringExtra("username");
String password=getIntent().getStringExtra("psw");
userName.setText(username);
psw.setText(password);
to_register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(MainActivity.this,register.class);
startActivity(intent);
}
});
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(MainActivity.this,login_Activity.class);
startActivity(intent);
}
});
}
}
register.java
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
//这个是控制注册界面的
public class register extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
TextView userName=findViewById(R.id.userName);
TextView psw=findViewById(R.id.psword);
TextView psw2=findViewById(R.id.psword2);
Button btn_register=findViewById(R.id.btn_register);
Button to_login=findViewById(R.id.to_login);
btn_register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent =new Intent(register.this,MainActivity.class);
intent.putExtra("username",userName.getText().toString());
intent.putExtra("password",psw.getText().toString());
startActivity(intent);
}
});
to_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(register.this,login_Activity.class);
startActivity(intent);
}
});
}
}
login_activity.java
package com.example.myapplication;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
//这个是控制最终界面的
public class login_Activity extends AppCompatActivity {
Button btn_logout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
btn_logout=findViewById(R.id.btn_logout);
}
public void method1(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher)
.setTitle("哎呀呀,怎么要退出了")
.setMessage("要退出吗?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
login_Activity.this.finish();
}
})
.setNegativeButton("否", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
AlertDialog ad=builder.create();
//show()方法展示
ad.show();
}
}