項目結構
java
分別有兩個Activity。
一個是登錄界面的,
另一個是登錄成功後的。
package com.example.reborn.login;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.content.Intent;
public class LoginMainActivity extends AppCompatActivity {
//onCreate方法是回調方法。對應的聲明週期。
//(onCreate和onDestroy方法:)[https://blog.csdn.net/qq_40967402/article/details/82975729]
//(onStart和onStop方法:)[https://blog.csdn.net/qq_40967402/article/details/83244665]
//關於這幾個方法的詳細實例,請看下一講,細說Activity生命週期。
//在初始化完實例之後,我希望可以顯示login_main這個佈局。
//這個佈局在res/layout/login_main.xml
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//此時,Android會解析login_main.xml進行渲染界面。
setContentView(R.layout.login_main);
}
//這個也是一個回調方法。當點擊Button時調用。
//在對應的login_main.xml的Button按鈕中聲明。
//如果我們把LoginMainActivity和login_main.xml看做一個東西
//此時的clickButton希望使用這個環境變量。因此加入了View對象。
public void clickButton(View view){
//顯示意圖,由LoginMainActivity傳入SuccessMainActivity這個類。
//因爲startActivity只用一個參數,所以不希望從SuccessMainActivity中返回數據。
//從這裏我們知道即將登場的類是SuccessMainActivity
Intent intent = new Intent(LoginMainActivity.this, SuccessMainActivity.class);
startActivity(intent);
}
}
login_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/login_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/x10"
android:paddingLeft="@dimen/x10"
android:paddingRight="@dimen/x10"
android:paddingTop="@dimen/x10"
tools:context=".LoginMainActivity">
<TextView
android:id="@+id/usm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="賬號" />
<EditText
android:id="@+id/username"
android:layout_width="320dp"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="48dp"
android:paddingLeft="8dp" />
<TextView
android:id="@+id/pwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密碼" />
<EditText
android:id="@+id/password"
android:layout_width="320dp"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:paddingLeft="8dp" />
<Button
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="clickButton"
android:text="登錄" />
</LinearLayout>
wrap_content
指,控件有多大,就顯示多大。
layout_gravity="center_horizontal"
,如果去掉,就會:
id規定了java類
訪問改控件的名稱。
如上文Activiy:
R.layout.login_main
若想獲得Button:
R.layout.login
則會在res/layout
下面找資源。
下面演示第二個Activity:
之前:先看看清單文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.reborn.login">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".LoginMainActivity"
android:label="Login">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SuccessMainActivity"></activity>
</application>
</manifest>
顯然,主Activity是LoginMainActivity
package com.example.reborn.login;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class SuccessMainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_success_main);
}
}
對應的佈局文件:activity_success_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SuccessMainActivity">
<TextView
android:id="@+id/Success"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Success!"
tools:ignore="MissingConstraints" />
</android.support.constraint.ConstraintLayout>
什麼是約束佈局
結果圖片在這裏:
這樣,一個簡單的無功能登錄界面就完成了!!!
本文代碼來自於github.