这个案例,主要目的是带着大家理解Android开发的基础知识,与UI布局以及点击事件,方便大家能更好的入门。至于如何创建一个Android项目这里就不在过多阐述。笔者这里使用的开发工具是IDEA,语言选的是java。如果还有朋友不会如何搭建项目,想知道详情可以点击链接看这片文章。

https://www.jb51.net/article/196746.htm

进入正题,首先给大家看一下项目结构

android 登录注册弹出框 android登录注册跳转的代码_android studio

在mylinearlayout目录下有两个类HomePage与MainActivity两个java类

res文件夹下的layout放着两个xml文件,分别是HomePage与MainActivity的布局文件。

安卓开发的布局xml,其实就相当于网页的HTML。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"  //填充满父级元素
        android:layout_height="match_parent" //填充满父级元素
        android:gravity="center" //居中
        android:orientation="vertical" //纵向排列
>
    <LinearLayout
            android:layout_width="200dp" //设置宽度为200dp
            android:layout_height="100dp"
            android:gravity="center"

    >
        <TextView                              //文字控件
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:textSize="20dp"
                android:text="账号"       //控件文字描述
                android:gravity="center"

        />
        <EditText
                android:layout_height="100dp"
                android:layout_width="100dp"
                android:layout_marginBottom="30dp"
        />
    </LinearLayout>
    <LinearLayout
            android:layout_width="200dp"
            android:layout_height="100dp"
            android:gravity="center"

    >
        <TextView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:textSize="20dp"
                android:text="密码"
                android:gravity="center"

        />
        <EditText                                      //文本框控件
                android:layout_height="100dp"
                android:layout_width="100dp"
                android:layout_marginBottom="30dp"
        />
    </LinearLayout>
    <Button                                           //按钮控件
            android:id="@+id/mybutton"
            android:layout_width="200dp"
            android:layout_height="80dp"
            android:text="登陆"
            android:layout_marginTop="50dp"
    >

    </Button>

</LinearLayout>

大家看是不是很像。最上层的父级元素LinearLayou叫线性布局,就相当于一个Html里的一个<div>标签。其中还有

至于里面的子元素是行级元素还是块级元素,取决于LinearLayout 标签里面的这个属性android:orientation。

当你设置为vertical就是纵向排列,当你设置为horizontal就是水平排列。

android 登录注册弹出框 android登录注册跳转的代码_android studio_02

 那设置完布局xml后,该怎么用呢?

我需要回到我们的MainActivity类中将这个文件塞入setContentView这个方法里面

android 登录注册弹出框 android登录注册跳转的代码_java_03

 onCreate为可以是一个生命周期方法,在该应用最初创建的时候被自动调用,我们可以将一些初始化的逻辑写在这里面。

接下来我们要给button组件添加一个点击事件,以完成登录跳转的功能

我们在xml布局文件中给button组件定义了一个id,现在可以根据id获取这个组件,并监听按钮是否被按下。

android 登录注册弹出框 android登录注册跳转的代码_android studio_04

实现一个接口,并重写里面的一个onclick()方法

android 登录注册弹出框 android登录注册跳转的代码_android_05

 在该方法中写跳转逻辑。

android 登录注册弹出框 android登录注册跳转的代码_android_06

 以下是MainActivity完整代码

package com.example.mylinearlayout;

import android.content.DialogInterface;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private  Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        intiView();
    }

    public void intiView(){
        button = findViewById(R.id.mybutton);
        button.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        Toast.makeText(this,"您点击了一个按钮",Toast.LENGTH_LONG).show();
        startActivity(new Intent(this,HomePage.class));
    }
}

现在我们再来设置HomePage的布局

package com.example.mylinearlayout;

import android.os.Build;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class HomePage extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.homepage_main);
    }
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".HomePage">
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>


</androidx.constraintlayout.widget.ConstraintLayout>

最后最重要的一点,别忘了在AndroidManifest.xml文件中把我们的HomePage给注册进去

<activity android:name=".MainActivity" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".HomePage"></activity>
    </application>

最后效果图就是这样的

android 登录注册弹出框 android登录注册跳转的代码_android_07

点击跳转

 

android 登录注册弹出框 android登录注册跳转的代码_android_08

今天为大家分析的案例就讲到这里,后续还会分享如何设置精美的样式如何发起网络请求等更多内容,喜欢的给个赞,下次再见!