前几天做个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. vue获取dom元素注意问题
  2. Vaughn Vernon谈当今软件开发所面临的挑战
  3. 阿里云盘又送福利啦?空间大时间长,不要犹豫快上车!
  4. 生物化学与分子生物学分析技术 Analytical Techniques in Biochemistry and Molecular Biology 英文原版
  5. cast()函数用法
  6. C语言之折半查找(二分查找)
  7. ubuntu 打包压缩
  8. 如何获取STM32 MCU的唯一ID
  9. 北妈每日一学:ES6语法之 箭头函数(附免费学习资料)
  10. BZOJ 4810 [Ynoi2017]由乃的玉米田(莫队+bitset)
  11. 差分进化算法_基于差分进化的水泥烧成系统动态优化算法
  12. 大学 C语言程序设计第一讲,c语言程序设计1第一讲(第一章上).ppt
  13. “Rule can only have one resource source”错误
  14. ssm项目中使用拦截器加上不生效解决方案
  15. 基于选项模式实现.NET Core的配置热更新
  16. Win XP环境Tuxedo8.1安装、配置指南
  17. Windows核心编程_LOG软件
  18. scrapy猫眼爬虫
  19. linux清理磁盘空间_Ubuntu上释放磁盘空间的几种简单方法
  20. Mybatis插件机制原理

热门文章

  1. latex error: does not look like a valid PDF document ; xdvipdfmx:fatal: Out of memory - asked for ..
  2. xml解析库pugixml的基本用法
  3. ftp服务器需要ssl证书吗,启用SSL加密功能确保FTP服务器安全性
  4. 【Python】Caffe 模型转换 Caffe2 模型 (支持多输入 / 多输出)
  5. C++ 16进制字符串转16进制数组函数
  6. 【网络】什么是SR-IOV、PF、VF|DPDK vs SR-IOV for NFV
  7. java filter chain_Filter及FilterChain的使用详解
  8. 蓝牙耳机什么牌子的好又实惠?实惠好用的蓝牙耳机品牌
  9. 【开源的串口可视化工具——Serial Studio】
  10. 【缘起•看见】公益捐书宝鸡第七场——走进岐山县凤鸣镇杏园逸夫小学