android studio设计app登录界面
ui界面设计
在设计登录界面时,可以使用不同布局方式来实现该功能,通常情况下使用的是linearlayout(线性布局)和tablelayout(表格布局),在本文中使用线性布局。登陆界面需要几项必不可少的控件,如下所示:

textview:用于显示标题和“用户名”和”密码”的提示;
标题设置

<textview
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”登录页面”
        android:textsize=”30dp”
        android:textcolor=”@android:color/black”
        android:layout_gravity=”center_horizontal”/>

“用户名”提示

<textview
       android:layout_width=”65dp”
       android:layout_height=”wrap_content”
       android:text=”用户名:”
       android:textsize=”16dp”
       android:textcolor=”@android:color/black”/>

“密码”提示:
<textview
       android:layout_width=”65dp”
       android:layout_height=”wrap_content”
       android:text=”密码:”
       android:textsize=”16dp”
       android:textcolor=”@android:color/black”/>

editview:用于输入”用户名”和”密码”;
“用户名”输入框:
<edittext
       android:layout_width=”264dp”
       android:layout_height=”wrap_content”
       android:id=”@+id/ed1″
       android:hint=”请输入用户名”               
       android:textcolor=”@android:color/black”/>

“密码”输入框:

<edittext
       android:layout_width=”264dp”
       android:layout_height=”wrap_content”
       android:id=”@+id/ed2″
       android:hint=”请输入密码”
       android:textcolor=”@android:color/black”/>

button:用于控制登录。
button登录按钮:
 <button
        android:layout_width=”285dp”
        android:layout_height=”wrap_content”
        android:text=”登录”
        android:textsize=”20dp”
        android:id=”@+id/bt”
        android:layout_gravity=”center_horizontal” />/>

本文使用三层linearlayout互相嵌套,第一层linearlayout中包括标题(textview)和第二层linearlayout以及登录按钮(button)。第一层linearlayout使用垂直分布,即android:orientation=“vertical”。
第二层linearlayout中嵌套两个第三层linearlayout,且第二层linearlayout为垂直分布,即android:orientation=“vertical”。
第三层的两个linearlayout中各包含一个textview和一个editview,第三层linearlayout为水平分布,即android:orientation=“horizontal”。

总的ui设计如下所示。

<?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/activity_main”
    android:layout_width=”match_parent”
    android:layout_height=”match_parent”
    android:paddingbottom=”@dimen/activity_vertical_margin”
    android:paddingleft=”@dimen/activity_horizontal_margin”
    android:paddingright=”@dimen/activity_horizontal_margin”
    android:paddingtop=”@dimen/activity_vertical_margin”
    tools:context=”com.example.activities.mainactivity”
    android:orientation=”vertical”
    android:weightsum=”1″>

    <textview
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”登录页面”
        android:textsize=”30dp”
        android:textcolor=”@android:color/black”
        android:layout_gravity=”center_horizontal”/>
    <linearlayout
        android:layout_width=”match_parent”
        android:layout_height=”wrap_content”
        android:orientation=”vertical”
        android:gravity=”center”
        android:layout_weight=”0.55″>
        <linearlayout
            android:layout_width=”300dp”
            android:layout_height=”wrap_content”
            android:orientation=”horizontal”>
            <textview
                android:layout_width=”65dp”
                android:layout_height=”wrap_content”
                android:text=”用户名:”
                android:textsize=”16dp”
                android:textcolor=”@android:color/black”/>

            <edittext
                android:layout_width=”264dp”
                android:layout_height=”wrap_content”
                android:id=”@+id/ed1″
                android:hint=”请输入用户名”
                android:textcolor=”@android:color/black”/>
        </linearlayout>
        <linearlayout
            android:layout_width=”300dp”
            android:layout_height=”wrap_content”
            android:orientation=”horizontal”>
            <textview
                android:layout_width=”65dp”
                android:layout_height=”wrap_content”
                android:text=”密码:”
                android:textsize=”16dp”
                android:textcolor=”@android:color/black”/>
            <edittext
                android:layout_width=”264dp”
                android:layout_height=”wrap_content”
                android:id=”@+id/ed2″
                android:hint=”请输入密码”
                android:textcolor=”@android:color/black”/>
        </linearlayout>
    </linearlayout>

    <button
        android:layout_width=”285dp”
        android:layout_height=”wrap_content”
        android:text=”登录”
        android:textsize=”20dp”
        android:id=”@+id/bt”
        android:layout_gravity=”center_horizontal” />/>
</linearlayout>

效果如图所示。

java代码编写
若用户输入用户名或密码有误时,弹窗提示“用户名或密码输入有误,请更正后重新输入!”。
若用户没有输入用户名或密码,弹窗提示“用户名与密码不能为空!”。
当用户名与密码同时输入正确是,方可进入系统。

package com.example.activities;

import android.content.intent;
import android.support.v7.app.appcompatactivity;
import android.os.bundle;
import android.view.view;
import android.widget.button;
import android.widget.edittext;
import android.widget.toast;

public class mainactivity extends appcompatactivity {
    private edittext usertext;
    private edittext passtext;
    private button loginbutton;

    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.activity_main);
        usertext=(edittext)this.findviewbyid(r.id.ed1);
        passtext=(edittext)this.findviewbyid(r.id.ed2);
        loginbutton=(button)this.findviewbyid(r.id.bt);
        loginbutton.setonclicklistener(new buttonlistener());
    }
    private class buttonlistener implements view.onclicklistener{
        @override
        public void onclick(view v){
            string user=usertext.gettext().tostring();
            string pass=passtext.gettext().tostring();
            if (user.equals(“”)||pass.equals(“”)){
                toast.maketext(mainactivity.this,”用户名与密码不能为空!”,toast.length_short).show();
            }
            else if (user.equals(“denglu”)&&pass.equals(“0000”)){
                toast.maketext(mainactivity.this,”登陆成功”,toast.length_short).show();
                intent intent=new intent(mainactivity.this,twoactivity.class);
                startactivity(intent);
            }
            else{
                toast.maketext(mainactivity.this,”用户名或密码输入有误,请更正后重新输入!”,toast.length_short).show();
            }
        }
    }
}

点击登录按钮之后,进入下一个界面,这时需在manifest中添加第二个activity的名称

<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
    package=”com.example.activities”>

    <application
        <activity android:name=”.mainactivity”>
            <intent-filter>
                <action android:name=”android.intent.action.main” />

                <category android:name=”android.intent.category.launcher” />
            </intent-filter>
        </activity>
        <activity android:name=”.twoactivity”></activity>
    </application>

</manifest>

第二个界面的activity需调用第二个xlm的layout,如下所示

package com.example.myapplication;

import android.support.v7.app.appcompatactivity;
import android.os.bundle;

public class twoactivity extends appcompatactivity {

    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.twoactivity);
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。