前几天做个APP,需要用到登录页面,无奈本人艺术细胞太差,于是去GitHub逛了一圈,没有找到特别满意的,于是只能自己设计了一个,将就着用一下,后续会继续扩充。大家有比较好的设计方案欢迎评论区分享!

废话不多说,先来看下效果

代码及介绍如下

  1. 首先添加依赖,在Module的build.gradle文件中的dependencies节点下添加如下依赖,注意design版本要和你项目一致;
    implementation 'com.android.support:design:28.0.0'implementation 'net.qiujuer.genius:ui:2.0.0-beta4'
  1. 接着是按钮的样式文件,在res/drawable下新建button_shape.xml,代码如下
<?xml version="1.0" encoding="utf-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><!-- 填充的颜色 --><solid android:color= "@color/goldenrod" /><!-- android:radius 弧形的半径 --><!-- 设置按钮的四个角为弧形 --><cornersandroid:radius="10dip" />**设置文字padding**<!-- padding:Button里面的文字与Button边界的间隔 --><paddingandroid:left="10dp"android:top="10dp"android:right="10dp"android:bottom="10dp"/>
</shape>
  1. 接下来是放在res/values/strings.xml中的字符串常数 和res/values/colors.xml中的颜色常数

strings.xml

<string name="login_title">XX管理系统</string>
<string name="hint_usename">用户名:</string>
<string name="hint_password">密码:</string>
<string name="copyright_information">2019 © XX管理系统</string>

colors.xml

<color name="login_background">#1e90ff</color>
<color name="goldenrod">#daa520</color>

主页面显示的logo,放在res/mipmap下

4. 接下来是登录页面布局文件activity_login.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/lin"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/login_background"tools:context="LoginActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><RelativeLayoutandroid:layout_marginTop="60dp"android:layout_width="match_parent"android:layout_height="50dp"android:gravity="center_horizontal"><ImageViewandroid:id="@+id/iv_logo"android:layout_width="60dp"android:layout_height="50dp"android:src="@mipmap/ic_logo"/><TextViewandroid:layout_toRightOf="@+id/iv_logo"android:layout_width="wrap_content"android:layout_height="30dp"android:gravity="center_vertical"android:layout_marginLeft="20dp"android:layout_marginTop="10dp"android:textSize="25sp"android:textColor="#ffffff"android:text="@string/login_title"/></RelativeLayout><android.support.design.widget.TextInputLayoutandroid:id="@+id/textInputEmail"android:layout_width="280dp"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:background="#ffffff"android:layout_marginTop="30dp"><EditTextandroid:id="@+id/et_usename"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="@string/hint_usename"/></android.support.design.widget.TextInputLayout><android.support.design.widget.TextInputLayoutandroid:layout_marginTop="15dp"android:layout_width="280dp"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:background="#ffffff"><EditTextandroid:id="@+id/et_password"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="@string/hint_password"android:password="true"/></android.support.design.widget.TextInputLayout><net.qiujuer.genius.ui.widget.Buttonandroid:id="@+id/btn_login"android:layout_width="280dp"android:layout_marginTop="15dp"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:textColor="#ffffff"android:textSize="25sp"app:gTouchEffect="press"android:background="@drawable/button_shape"app:gTouchColor="@color/black_alpha_48"android:text="登录"/></LinearLayout><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:textColor="#ffffff"android:textSize="16sp"android:gravity="center_horizontal"android:layout_alignParentBottom="true"android:layout_marginBottom="20dp"android:text="@string/copyright_information"/></RelativeLayout>
  1. 登录页面对应的LoginActivity
package com.xiaok.materiallogin;import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;public class LoginActivity extends AppCompatActivity {private EditText et_usename;private EditText et_password;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);initView();findViewById(R.id.btn_login).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String usename = et_usename.getText().toString().trim();String password = et_password.getText().toString().trim();if (TextUtils.isEmpty(usename) || TextUtils.isEmpty(password)){Toast.makeText(getApplicationContext(),"用户名或密码不能为空",Toast.LENGTH_SHORT).show();}else if (usename.equals(new String("admin")) && password.equals(new String("123456"))){startActivity(new Intent(getApplicationContext(),MainActivity.class));}else {Toast.makeText(getApplicationContext(),"用户名或密码错误,注意区分大小写",Toast.LENGTH_SHORT).show();}}});}private void initView(){et_usename = (EditText) findViewById(R.id.et_usename);et_password = (EditText) findViewById(R.id.et_password);}
}

最后记得在AndroidManifest.xml中Activity节点下添加android:theme = “@style/Theme.Design.Light.NoActionBar”,以隐藏系统默认的ActionBar

<activity android:name=".LoginActivity"android:theme="@style/Theme.Design.Light.NoActionBar"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

源码地址(Github):传送门
源码地址(CSDN下载):传送门

Android页面设计(一)——简洁美观的登录页面相关推荐

  1. 原生js验证简洁美观注册登录页面

    本文转载自: https://www.cnblogs.com/storm-chou/p/6189489.html 作者:storm-chou 转载请注明该声明. 序 一个以js验证表单的简洁的注册登录 ...

  2. 直播系统app源码,简洁好看的登录页面

    直播系统app源码,简洁好看的登录页面 1.html <!DOCTYPE html> <html lang="en"> <head><me ...

  3. 【Android应用开发之前端——简易App登录页面】

    1.完成登录页面布局 各家App的登录页面大同小异,要么是用户名和密码组合登录,要么是手机号和验证码组合登录.如果要做的更好一点,就要提供忘记密码与记住密码等功能.我们的App登录项目把这些功能综合一 ...

  4. html网页设计一个简单的用户登录页面

    结果 代码 login.html <!DOCTYPE html> <html lang="en"> <head><meta charset ...

  5. 常见测试场景用例设计(1):登录页面测试用例

    申明:目前学习资料和观点 均受网络资料影响,如有侵权,请及时联系. 简单的登录页面主要包括:用户名text,密码text,以及登录按钮 (有些登录页面也包含了验证码,滑块等登录页面控件) 目录 主要测 ...

  6. 无csrf防护的html页面,Springs CSRF保护仅* HTML登录页面

    我正在尝试利用Spring Security内置的CSRF保护.这些是我正在使用的spring版本: Spring Framework版本-4.2.1 spring安全-4.0.2 Spring安全性 ...

  7. java比较炫的登录界面_html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面...

    承蒙各位小伙伴的支持,鄙人有幸入围了<CSDN 2020博客之星>的前200名,现在进入投票环节,如果我平时写的文章和分享对你有用的话,请每天点击一下这个链接,投上你们宝贵的一票吧!谢谢! ...

  8. vue拦截器刷新登陆页面_vue 一刷新就退回登录页面了

    写项目时,遇到一个问题就是,我配置好拦截器和路由拦截,没有报错,感觉可以,但是会到页面登录成功后,操作数据后,习惯性点击刷新,这时就退回到登录页面了,我知道是我清空存储的值,但是现在觉得用户万一刷新就 ...

  9. html用表单做登录页面跳转页面,html表单实例:登录页面

    1 2 3 4 5 登录页面 6 7          body{ 8           margin: 0px; 9           padding: 0px; 10} 11       #d ...

最新文章

  1. Android RecyclerView 基本使用
  2. ethercard php_使用Arduino和ENC28J60以太网LAN网络模块发送HTTP POST请求
  3. 大型网站系统与Java中间件实践 01 认识分布式
  4. 对于String类型的深刻理解
  5. 中国速度袋行业市场供需与战略研究报告
  6. 中国地质大学计算机学院闫继宁,双吸离心泵内部流动模拟与输水管道系统安全问题研究...
  7. html 文件对比,文件内容差异对比方法
  8. 使用insightface进行人脸识别批量下载图片
  9. Linux - history命令详解
  10. python求解中位数、均值、众数
  11. 自我管理 - 希望2015年自己能够做到的几点目标
  12. 双卡4G路由器_4G双卡双模路由器_4G双网双待路由器
  13. 使用tf.data.Dataset加载numpy数据
  14. matlabnbsp;pcode命令nbsp;生成…
  15. DialogUtils 弹出窗工具类
  16. ATECLOUD智能云测试平台-测试测量/仪器程控/工业控制/上位机开发软件
  17. android 联系人导入iphone,4种快速将联系人导入iPhone的方法
  18. 电子印章结构以及规范讲解
  19. 《java与模式》笔记-----抽象类和接口
  20. AI入门----深度学习的软硬件配置

热门文章

  1. 我从平面设计师转行做程序猿
  2. Manjaro软件更新失败:无效或已损坏的软件包
  3. java的基本特性_Java语言的基本特点
  4. 华南虎事件带给我的思考
  5. 微信小程序利用hidden点击显示和点击隐藏
  6. 计算机大学生必玩游戏,70%大学生用电脑玩游戏追剧,大一新生你还买电脑吗?家长们三思...
  7. Ubantu 18.04 安装 TensorFlow 详细教程
  8. JDK源码系列:ThreadLocal弱引用真的是过度设计吗?
  9. 【app反编译和逆向打包】
  10. Reactor 3快速上手——响应式Spring的道法术器