安卓开发(一)——登录界面与跳转功能

最近在学习Android studio,感觉很有意思,想要把学习过程记录一下,自己踩过的坑希望你们不要再踩,然后总结一些经验,如有不足或有误之处希望大家指出!

activity_main.xml

activity_main()
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >


    <EditText

        android:id="@+id/username"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:hint="用户名"
        android:inputType="textLongMessage"
        android:textColor="#000000"
        android:textSize="16sp"
        android:layout_marginTop="50dp"/>

    <EditText
        android:id="@+id/password"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:hint="密码"
        android:inputType="numberPassword"
        android:textColor="#000000"
        android:textSize="16sp"
        android:layout_below="@id/username"/>

    <Button
        android:id="@+id/login_btn"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/password"
        android:layout_alignParentStart="true"
        android:layout_marginStart="6dp"
        android:layout_marginTop="50dp"
        android:text="登录"
        android:textSize="16sp" />

    <Button
        android:id="@+id/setting_btn"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/password"

        android:layout_alignParentEnd="true"
        android:layout_marginTop="50dp"
        android:layout_marginBottom="50dp"
        android:layout_marginLeft="50dp"
        android:text="设置"
        android:textSize="16sp" />

</RelativeLayout>

这里比较好懂,主要注意一下inputType就行。

LoginActivity.java

package com.example.airplane_game;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class LoginActivity extends AppCompatActivity {
    private Button Login_btn;
    private Button Setting_btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Setting_btn = (Button) findViewById(R.id.setting_btn);
        Login_btn = (Button) findViewById(R.id.login_btn);
        Login_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();

                Intent intent=new Intent();//Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。
                intent.setClass(LoginActivity.this, MainActivity.class);
            startActivity(intent);}
        });

        Setting_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(LoginActivity.this, SettingsActivity.class);

                startActivity(intent);//跳转执行,没有这句话无法执行
            }
        });
    }


}

这里注意一下startActivity()可选择不同类型的参数,我的之前报错说intent[]不匹配intent,就是因为我选择的startActivity()参数类型不当,在AS中,很多时候我们都要注意这个问题,不能看到提示就马上点击。

你可能感兴趣的:(Android,studio)