项目结构
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.