【AS中基础设计】设计一个简单的登录界面

设计效果如下:
在这里插入图片描述

一个简单的登录界面设计:
代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/bg"
    android:gravity="center_horizontal">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Sing up"
        android:layout_marginTop="40dp"
        android:textColor="#fff"
        android:textSize="40sp"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_margin="20dp"
        android:textColor="#fff"
        android:textSize="20dp"
        android:text="Helloword Helloword Helloword Helloword Helloword" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@mipmap/add_photo"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="20dp"
        android:gravity="center"
        android:hint="userName and SurName"
        android:textColorHint="#cccccc"
        android:background="@mipmap/border" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="20dp"
        android:inputType="numberPassword"
        android:hint="passWord"
        android:gravity="center"
        android:textColorHint="#cccccc"
        android:background="@mipmap/border"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="20dp"
        android:text="点击注册"
        android:background="@mipmap/btn"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="20dp"
        android:text="点击登录"
        android:background="@mipmap/btn"/>

</LinearLayout>

其中总结几点使用效果:控件:

在这里插入图片描述
在这里插入图片描述
layout_gravitiy也可以用来设置字体的位置,也可以用来设置整体居中。看定义在哪个位置;
android:gravity="center_horizontal"

二、EditText设计

在这里插入图片描述

TextStyle 可以改变字体的样式,比如粗体啥的;
hint 用来做临时字体,当用户输入内容字体被隐藏。
maxLength 用来设置字节数。
android:hint=“userName and SurName”
android:textColorHint="#cccccc"

进行内容完善,进行登录界面的验证,给Button加上功能,从而进行较好的体验感

添加以下功能:
1.进行判断账号和密码是否为空,为空则提醒
2.添加进度条实现动态进度效果
在这里插入图片描述
不为空,进度条显示,进行动态加载
在这里插入图片描述

 <ProgressBar
        android:id="@+id/pgb_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="?android:attr/progressBarStyleHorizontal"
        android:visibility="invisible"
        android:layout_margin="10dp"/>

按钮直接加上点击效果:

android:onClick="register"
public void register(View v){
        EditText userName = findViewById(R.id.username);
        EditText pwd = findViewById(R.id.pwd);
        final ProgressBar pbg = findViewById(R.id.pgb_login);
        String un = userName.getText().toString();
        String pd = pwd.getText().toString();
        if(un.equals("") || pd.equals("")){
            //进行无焦点提示
            Toast.makeText(this,"账号和密码不能为空",Toast.LENGTH_SHORT).show();
        }else{
            pbg.setVisibility(View.VISIBLE);
            new Thread()
            {
                public void run() {
                    for (int i = 0; i <= 100; i++) {
                        pbg.setProgress(i);
                        try {
                            Thread.sleep(30);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }.start();
        }
    }

为方法添加上点击效果,直接在Java中写上方法,如果为空则进行一句无焦点提示:

Toast.makeText(this,"账号和密码不能为空",Toast.LENGTH_SHORT).show();

使用线程,实现动态的进度条显示。值得注意的是,线程是不能直接用来调用控件的,而进度条是个特例,是可以在线程中直接调用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值