Android登录界面(步骤详细)
Android简单登录界面设计一个登陆界面:允许用户输入用户名,密码;用户点击“Login”之后,如果用户名为admin, 密码为123则显示“登陆成功”;如果用户名密码其中之一不正确,红色字体显示“登陆失败!”首先我们来建立一个新的项目:图标那一步就随便选吧,下一步:这一步与上次有点不同,这次我们不要ADT 帮我们创建任何的Activity,我们只需要一个空的项目。
点击Finish后,我们会发现,项目文件视图下,与上次的不一样,src, res/layout 是空的,这次需要我们自己去添加了。
首先来明确一下我们现在的目标:建立一个包含登录框的界面,并将它显示在我们的手机(模拟器)上。
建立一个界面的主要步骤是什么呢?主要有以下几步:∙在res/layout下创建布局文件;∙在src下创建Activity子类,并将布局文件与这个Activity联系起来。
∙在AndroidManifest.xml程序配置文件中,添加Activity的声明。
我们先来1. 创建布局文件:在Eclipse项目文件中选中layout 文件夹,在工具栏里点击下面图标在弹出的窗口,填上这个xml布局文件的文件名,Root Element 根节点就选择Linearlayout 即可点击下一步,这一步是选择更多配置属性的,暂且不用理会,直接点击Finish。
我们发现,在res/layout 下面多了一个login.xml文件,同时Android 的Layout 编辑器也把它打开了。
切换到“source”代码视图,今天我们不用“所见即所得”的傻瓜拖拽方式。
我们看到xml代码是这样的:<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"></LinearLayout>根节点是LinearLayout,即线性布局,所谓线性布局,有点像J2SE上的流式布局,就是其中的UI元素,会按水平或者垂直方向顺序地铺开。
LinearLayout有个xml属性:android:orientation,它有两个可选值:vertical和horizontal,指明该线性布局中的元素,是以垂直(vertical)还是水平(horizontal)方向排列。
下面是两种方式的示意图:接下来,我们要添加两个文本输入框,让用户输入用户名,密码。
输入框使用的是EditText, 我们在LinearLayout中添加两个EditText<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:id="@+id/login_username"android:layout_width="300dp"android:layout_height="wrap_content"android:hint="Type name here...."android:text=""></EditText><EditTextandroid:id="@+id/login_password"android:layout_width="300dp"android:layout_height="wrap_content"android:hint="Type password here...."android:inputType="textPassword"android:text=""></EditText></LinearLayout>对比每个节点属性,我们发现,不管是LinearLayout还是EditText,都会至少包含android:layout_widthandroid:layout_height不管是android:layout_width还是android:layout_height 都有四种可选填的值:∙wrap_content∙fill_parent∙match_parent∙具体数值具体数值可以填像素px,如300px, 也可以填dp. dp(也写作dip)是Android平台上特有的长度计量单位,它是与设备屏幕无关的单位,强烈建议我们在设计界面元素时,都使用dp,而非px!原因这里不多拓展,以后会详细描述。
还有一个重要的属性是:android:id,它是UI元素的唯一标识,格式为@+id/XXXXXXX 保存之后,我们会发现,在gen文件夹下面,ADT为我们自动生成了代码R.java:他们都是静态且final 的类或者成员。
它的作用是,为资源建立索引,以便代码中或者layout 中方便的引用。
public final class R {public static final class attr {}public static final class drawable {public static final int ic_launcher=0x7f020000;}public static final class id {public static final int login_password=0x7f060001;public static final int login_username=0x7f060000; }public static final class layout {public static final int login=0x7f030000;}public static final class string {public static final int app_name=0x7f040000;}public static final class style {public static final int AppTheme=0x7f050000;}}接下来我们再添加一个用于提交的按钮,以及用于显示结果的文本:<Buttonandroid:id="@+id/login_submit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="登录"/><TextViewandroid:id="@+id/login_result"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="用于显示登录的结果"/>android:hint是用于提示文本,当android:text有值时,会被替换。
切换回“所见即所得”的图形编辑视图预览一下:布局文件创建完成,我们进行第二步:2. 编写代码在src右键New->Class->需要注意的是,该LoginActivity类必须继承自Activity类public class LoginActivity extends Activity {/*** 必须重载父类的onCreate*/@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.setContentView(yout.login);//将布局文件与代码关联起来//获取布局文件中的UI元素对象final EditText mUserName = (EditText)this.findViewById(R.id.login_username);final EditText mPassword = (EditText)this.findViewById(R.id.login_password);Button mSubmit = (Button)this.findViewById(R.id.login_submit);final TextView mResult =(TextView)this.findViewById(R.id.login_result);//设置按钮点击之后的事件处理mSubmit.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String userName = mUserName.getText().toString();String password = mPassword.getText().toString();if("admin".equals(userName) &&"123".equals(password)){mResult.setText("恭喜您,登录成功!");}else{mResult.setText("登录失败,用户名或密码不正确!"); }}});}}注意以下几点:∙必须重载onCreate()方法,而且必须首先调用一次父类的方法super.onCreate(s avedInstanceState);∙setContentView()方法用于关联布局文件,应该在onCreate中先调用,后面才能获取到UI元素的对象。
软件应用用户指南
软件应用用户指南欢迎使用我们的软件应用。
本用户指南将为您提供详细的说明和操作指引,帮助您更好地使用我们的软件。
请在阅读本指南之前确保您已经成功安装并启动了我们的软件应用。
1. 软件的安装和启动在开始使用我们的软件之前,请确保您的设备满足以下要求:- 操作系统:我们的软件适用于Windows、Mac、iOS和Android等主要操作系统。
- 设备配置:您的设备需要满足最低的硬件和存储要求。
按照以下步骤安装和启动软件:1) 下载软件:进入我们的官方网站(请勿在此处提供链接,请自行查找),找到软件的下载页面,根据您的设备类型选择正确的软件版本,并下载到您的设备上。
2) 安装软件:找到下载的软件安装包,双击运行并按照提示进行安装。
在此过程中,您可能需要接受许可协议并选择安装位置。
3) 启动软件:安装完成后,在您的设备上找到我们的软件应用图标,双击打开软件。
如果软件需要网络连接,请确保您已连接到网络。
2. 用户注册和登录在使用我们的软件之前,您需要注册一个用户账户并登录。
请按照以下步骤完成注册和登录过程:1) 注册账户:打开我们的软件应用后,找到“注册”按钮(位置因软件版本而异),点击进入注册页面。
在注册页面上,填写所需的信息,如用户名、密码和邮箱等,然后点击“注册”按钮完成注册。
2) 登录账户:在软件的主界面找到“登录”按钮(位置因软件版本而异),点击进入登录页面。
输入您注册时使用的用户名和密码,然后点击“登录”按钮。
3. 主要功能介绍我们的软件提供了多种功能,以下是其中的主要功能介绍:3.1 功能一描述功能一的使用方法和操作指引。
请根据实际情况提供详细的步骤和说明。
3.2 功能二描述功能二的使用方法和操作指引。
请根据实际情况提供详细的步骤和说明。
3.3 功能三描述功能三的使用方法和操作指引。
请根据实际情况提供详细的步骤和说明。
...4. 常见问题解答在使用我们的软件过程中,您可能会遇到一些常见问题。
以下是一些常见问题及解答,希望能为您提供帮助。
中国电力建设集团移动办公操作指南
中国电力建设集团有限公司移动办公系统使用手册一、笔记本电脑操作说明1、使用IE浏览器访问移动办公系统网址(http://vpn2.powerchin.com),页面会提示您网站证书有问题,请点击“继续浏览此网站”,如下图。
2、进入登录界面,输入用户名、密码。
用户名由OA邮件发到各项目经理处、初始密码为aaaa1111),如下图。
首次登录系统会提示您修改密码,首次登录时,会有“请安装浏览器控件”的提示,请点击“安装控件”,如下图。
浏览器会弹出安全警告,请点击“安装”安装按钮,如下图。
Windows会弹出驱动未验证提示,请点击“始终安装此驱动程序软件”按钮。
Windows防火墙可能会弹出限制访问警告,请点击“允许访问”,如下图。
上述操作完成后,页面将会跳转至OA登录界面,如下图。
可以选择“笔记本应用”或“平板电脑应用”,选择右侧的办公自动化“OA4”输入登录“办公一体化协同平台”的用户名和密码,使用方法和公司总部相同。
3、在桌面上建立快捷方式方法。
登陆vpn后,在下图右上方选择“开机登录设置”在“vpn的URL地址:”输入:http://vpn2.powerchin.com以及其它相应选项后点确定。
桌面即出现快捷图标,方便以后登录。
二、IPAD平板电脑操作说明1、安装客户端。
进入苹果软件商店,选择下方“类别”按钮,在右上方搜索框搜索“EasyConnect”。
安装iPad应用软件中的EasyConnect软件,如下图。
2、登录客户端。
安装成功后,请在桌面启动EasyConnect客户端。
进入程序后输入地址:vpn2.powerchin.com,点击“连接”按钮。
请输入用户名、密码(用户名与rtx系统一致,初始密码为1,建议选中“记住密码”按钮),点击“登录”选项。
3、修改相关配置,首次登录系统会提示修改密码,建议将密码修改为与 OA 系统相同的密码,就可以实现 OA 系统的自动登录功能。
如果设置了与 OA 系统不同的密码,则可设置单点登录功能以便实现 OA系统的自动登录(单点登录设置参见附录 2)。
第2章 Android基础界面设计-布局
案例:D0201_Layout/activity_login
2021/10/19
第2章 Android基础界面设计
2021/10/19
第2章 Android基础界面设计
16
2.2 Android基本布局
https:///guide/topics/ui/declaring-layout?hl=zh-cn
内容大纲
LinearLayout:线性布局,子View水平或垂直方向进行排列 FrameLayout:帧布局,子View以左上角为起点堆叠在一起 RelativeLayout:相对布局,子View之间的相对定位进行排列 GridLayout:网格布局,子View以行、列方式进行排列 ConstraintLayout:约束布局,约束方式连接子View布局(第4章)
• 针对控件内的元素,用来控制元素在该控件里的显示位置 • android:gravity="left"和android:text="提交",这时Button上的文字"提交"将会位于Button
的左部 • layout_width或layout_height值需设为match_parent才有效
➢ layout_gravity
2021/10/19
第2章 Android基础界面设计
7
ViewGroup
ViewGroup提供了对其子View的管理功能,包括布局、动画等。子 组件可以是View、也可以是ViewGroup。
2021/10/19
第2章 Android基础界面设计
8
பைடு நூலகம்
2.1 Android布局文件
layout的含义
案例:D0201_Layout/activity_linearlayout_b.xml、 activity_linearlayout_r.xml
Android Seetong使用手册V1.2
Android(安卓系统)系统手机使用技巧
Android(安卓系统)系统手机使用技巧快速查看手机充电情况方法1:通过待机屏幕查看,众所周知Android系统设计了自动锁屏功能,当手机处于一段时间不使用的情况下就会自动熄灭背景灯,如果需要激活的话就需要按下手机的Menu键两次,但是当按下第一次之后会显示出待机界面,里面就会显示目前的手机电池充电情况。
方法2:在Android系统中的About Phone选项中的“Status”选项,里面能够看到Battery Level的选项,这就是当前手机的充电情况显示。
方法3:通过第三方软件查看,由于Android系统中并没有专门的这类软件,所以如果想要详细的查看目前手机充电情况的话就是用一款第三方的电池查看软件吧教你设置输入密码不可见用过某些需要登录的应用程序的朋友相信都知道在输入账户密码默认情况下是显示出来已经输入的密码,为了安全起见都不想旁边的人看到自己的密码,那么怎样才能设置Android手机不可见已经输入的密码呢?教你设置输入密码不显示。
关于密码的设置当然是在SecurityLocation中了,所以我们先在主屏界面上按下Menu菜单键,在弹出的进阶菜单中选择最后一项“Settings”;进入设置菜单后将滚动条向下滑动,找到“SecurityLocation”的分类,点击进入;在安全性和位置分类菜单中找到Passwords分类,其中将“Visible passwords”选项后面的勾去掉即可。
摩托罗拉BLUR账户设置二代账户设置步骤,有兴趣的朋友可以看看。
首次BLUR账户设置是在ME600等手机首次启动的时候,只要将MOTOBLUR账户绑定一个邮箱即可,当然在此之前需要进行APN网络接入点的设置。
如果在Android手机首次开机的时候将MOTOBLUR账户设置过程跳过,那么只能从其他地方进行设置。
在主屏幕中按下Menu菜单键,选择最后一项设置,在设置选项中选择MOTOBLUR账户进入下一步设置。
android实现QQ登录界面(大学作业一)
android实现QQ登录界⾯(⼤学作业⼀)实验项QQ登录界⾯⽬:实验地躬⾏楼718实验时间:2018.10.13点:⼀、实验⽬的:1.掌握Android中布局的概念和⽤法2.熟练掌握Android中Button、ImageView、EditText以及Toast的基本使⽤。
3. 熟练掌握偏好设置的⽤法⼆、实验内容与要求1.完成如下所⽰的QQ登录界⾯2.功能需求:2.1 界⾯需要做简单屏幕适配(weight属性)2.2 ⽤户名明⽂显⽰且只能是数字2.3 密码必须是密⽂显⽰,字符数字都可以。
2.4 ⽤户名或密码空,点击登录提⽰"⽤户名密码不能为空"2.5 ⽤户名和密码为指定时,点击按钮提⽰登录成功。
2.6 登录成功后,将⽤户名和密码保存在偏好设置中,2.7 退出QQ再次打开,记住⽤户名密码并显⽰出来三、实验步骤和结果:⽤户名是123,密码是password输⼊验证成功后即可显⽰登陆成功提⽰,然后保存到偏好设置中,以后开启⽤户名和密码就会显⽰在⽂本框内main_activity.xml:<android.support.constraint.ConstraintLayoutxmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><LinearLayout xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background_gradient"android:orientation="vertical"><ImageViewandroid:id="@+id/imageView1"android:layout_width="160dp"android:layout_height="0dp"android:layout_gravity="center_horizontal"android:layout_marginTop="10dp"android:layout_marginBottom="5dp" android:layout_weight="1"android:src="@drawable/logo" /><LinearLayoutandroid:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"android:orientation="vertical"><EditTextandroid:id="@+id/username" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/imageView1" android:layout_marginTop="5dp" android:background="#ffffff" android:hint="QQ/⼿机号"android:inputType="number" android:paddingLeft="12dp" android:textColor="#000000" /><EditTextandroid:id="@+id/pwd"android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/username" android:layout_marginTop="5dp" android:background="#ffffff" android:hint="密码"android:inputType="textPassword" android:paddingLeft="12dp" android:textColor="#000000" /><Buttonandroid:id="@+id/login"android:layout_width="match_parent" android:layout_height="40dp"android:layout_below="@id/pwd" android:layout_marginLeft="20dp"android:layout_marginTop="20dp" android:layout_marginRight="20dp" android:background="@drawable/shape" android:gravity="center"android:text="登录"android:textColor="#F9FAFB" /></LinearLayout></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:padding="10dp"android:gravity="bottom"><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"android:text="⽆法登录"android:textColor="#0EB1EF" /><TextViewandroid:id="@+id/textView3"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="right"android:text="新⽤户"android:textColor="#0EB1EF" /></LinearLayout></LinearLayout></android.support.constraint.ConstraintLayout> MainActivity.java主要代码:package com.lgqchinese.homework;import …public class MainActivity extends AppCompatActivity { private SharedPreferences sp;private SharedPreferences.Editor editor;private EditText userEdit;private EditText passEdit;private Button login;String userNameValue;String passwordValue;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.activity_main);viewInfo();/*//隐藏titleif (getSupportActionBar() != null){ getSupportActionBar().hide();}*/}*/sp = getSharedPreferences("userInfo", 0);String name = sp.getString("USER_NAME", "");String pass = sp.getString("PASSWORD", "");userEdit.setText(name);passEdit.setText(pass);login.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {userNameValue = userEdit.getText().toString();passwordValue = passEdit.getText().toString();//⽤户名或密码空,点击登录提⽰"⽤户名密码不能为空"if(userNameValue.equals("")||passwordValue.equals("")){Toast.makeText(MainActivity.this, "⽤户名或密码不能为空", Toast.LENGTH_SHORT).show(); }else {if (userNameValue.equals("123")&&passwordValue.equals("password")){//⽤户名和密码为指定时,点击按钮提⽰登录成功。
KFM Android 用户指导
验证报告 当所有报告没有检测到错误 验证报告
后,点击
修反馈。
提交走
点击确认,即可提交工作报告
Dedicated to people flow
TM
KONE Field Mobility for Android
(KFM Android)
“在途中”走修反馈
当报告在验证时,在走修栏里会 呈现灰色的状态,并且已不能进 行任何修改,一旦验证成功后,
(KFM Android)
WC的删除
此时会显示所有你要求的WC 及相关计划单
勾选需要删除的WC 下面所有工作单
打开
点击“删除所选项目”即 可
Dedicated to people flow
TM
KONE Field Mobility for Android
(KFM Android)
工时单查询、修改及提交
Dedicated to people flow
TM
KONE Field Mobility for Android
(KFM Android)
WC的删除
打开“保养及其他” 界面
点开行动按钮 打开
Dedicated to people flow
TM
KONE Field Mobility for Android
(KFM Android)
“在途中”走修反馈
报告“设备状态” 离开工地时,若设备正常运行,则 点击 继续。 报告“设备状态”
若设备无法正常运行,则在下拉菜
单中选择一个停梯原因。
Dedicated to people flow
TM
KONE Field Mobility for Android
iVMS-5060Android客户端软件操作手册
描述内容约定
在本手册中为了简化描述,做以下约定:
iVMS-5060(Android) V4.0.0客户端软件简称为软件。 硬盘录像机、视频服务器、网络摄像机和网络球机等统一称为设备。 本说明书部分图片为示意图,仅供参考。
符号约定
在本文中可能出现下列标志,它们所代表的含义如下。 符号 注意 说明 说明 表示有潜在风险,如果忽视这些文本,可能导致设备损坏、数据丢失、设备 性能降低或不可预知的结果。 表示是正文的附加信息,是对正文的强调和补充。
ቤተ መጻሕፍቲ ባይዱ
0303001040117
i
iVMS-5060 (Android)客户端软件操作手册
目录
目录
前言 ............................................................................................................................................................................ I 目录 ........................................................................................................................................................................... II 1. 简介 .............................................................................................................
蓝信 Android 客户端操作手册说明书
蓝信Android客户端操作手册1.下载蓝信Android客户端在您的手机上打开浏览器并键入网址打开蓝信下载页,如下图。
点击页面上的『Android下载』,系统将为您下载安装包。
在您的手机桌面上找到『蓝信』App并点击启动。
进入蓝信登录界面,请键入您的帐号、密码,点击登录,登录到蓝信客户端后如下图所示。
4.首页“首页”标签页主要展示的数据是任务中心、新闻公告、主席红邮筒、移动工程师、线上决策等入口,在内容列表包括计时待办、非计时待办、会议提醒。
²新闻公告5.消息点击标签栏『消息』标签可切换到蓝信消息列表页,如下图右所示;消息列表页显示最近100个消息,通过上下滑动可查看更多消息。
5.1. 消息置顶在未置顶消息上长按出现菜单项,点击置顶可将该消息置顶,已置顶消息和非置顶消息的颜色不同,如下图右所示。
5.2. 取消消息置顶在已置顶消息项长按出现菜单项,点击取消置顶可取消该消息的置顶。
5.3. 从最近消息列表中移除消息在您想移除的消息上左划,在划出菜单上点击『删除』可将该消息从消息列表中移除。
移除消息并不会在本地删除您的消息,只是将该消息从消息列表的显示中移除,当该消息有新消息到达时消息会重新出现在消息列表。
5.4. 发送文本、图片、语音、文件、视频、位置、红包、回执消息类型可收发文本、表情、语音、图片、拍照发送、视频、位置、红包、文件、回执消息,单人可发起密聊;对未下载的文件单击触发文件下载,对已下载的文件单击将打开文件浏览;5.5. 复制、删除、转发消息在消息中接收到或发送出去的消息可以进行复制、删除、转发、收藏操作,固定群还可以回复;长按任一消息气泡触发操作菜单。
文本消息:可复制、删除、转发、收藏、回复;图片消息:可复制、删除、转发、收藏、回复;视频消息:可删除、转发、收藏、回复;红包:删除;文件:可删除、转发、收藏语音:可删除、收藏位置:可复制、删除、转发、回复;选择转发会跳转到选择转发目标页面,在该页面上可选择一个最近消息进行转发,也可创建一个新消息进行转发。
Android实现注册登录界面的实例代码
Android实现注册登录界⾯的实例代码本⽂讲述了在linux命令下导出导⼊.sql⽂件的⽅法。
分享给⼤家供⼤家参考,具体如下:AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="/apk/res/android"package="youtlearn"><applicationandroid: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=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></activity><activity android:name=".login"><intent-filter><action android:name="android.intent.action.MAIN" /></intent-filter></activity><activity android:name=".register"><intent-filter><action android:name="android.intent.action.MAIN" /></intent-filter></activity></application></manifest>MainActivity.javapackage youtlearn;import android.content.DialogInterface;import android.content.Intent;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);//login buttonfinal Button login = (Button) findViewById(R.id.button);final String user = "admin";final String pass = "hello";login.setOnClickListener(new View.OnClickListener() {public void onClick(View view) {String username = "";EditText editText1 = (EditText)findViewById(R.id.editText);username = editText1.getText().toString();String password = "";EditText editText2 = (EditText)findViewById(R.id.editText2);password = editText2.getText().toString();if (username.equals(user) & password.equals(pass)) {Intent intent = new Intent(MainActivity.this, login.class);startActivity(intent);}else {new AlertDialog.Builder(MainActivity.this).setTitle("Error!").setMessage("Wrong username or password.").setNegativeButton("OK",null).show();}}});//register buttonfinal Button register = (Button) findViewById(R.id.button2);register.setOnClickListener(new View.OnClickListener() {public void onClick(View view) {//提⽰框确定是否跳转new AlertDialog.Builder(MainActivity.this).setTitle("Jump").setMessage("Ready to jump?").setPositiveButton("Yes", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {Intent intent = new Intent(MainActivity.this, register.class);startActivity(intent);}}).setNegativeButton("No",null).show();}});}}login.javapackage youtlearn;import android.app.Activity;import android.os.Bundle;/*** Created by jailman on 2017/9/18.*/public class login extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.login);}}register.javapackage youtlearn;import android.app.Activity;import android.os.Bundle;/*** Created by jailman on 2017/9/18.*/public class register extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.register);}}activity_main.xml<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="/apk/res/android" xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_centerVertical="true"tools:context="youtlearn.MainActivity"><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginRight="68dp"android:text="@string/login"app:layout_constraintRight_toLeftOf="@+id/button2"tools:layout_constraintTop_creator="1"android:layout_marginEnd="68dp"android:layout_marginTop="26dp"app:layout_constraintTop_toBottomOf="@+id/editText2" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/register"tools:layout_constraintTop_creator="1"tools:layout_constraintRight_creator="1"android:layout_marginEnd="68dp"app:layout_constraintRight_toRightOf="parent"android:layout_marginTop="26dp"app:layout_constraintTop_toBottomOf="@+id/editText2" /><EditTextandroid:id="@+id/editText"android:layout_width="240dp"android:layout_height="45dp"android:layout_marginBottom="35dp"android:layout_marginEnd="68dp"android:layout_marginLeft="8dp"android:layout_marginRight="8dp"android:layout_marginStart="68dp"android:ems="10"android:hint="@string/username"android:inputType="textPersonName"app:layout_constraintBottom_toTopOf="@+id/editText2"app:layout_constraintHorizontal_bias="0.516"app:layout_constraintLeft_toLeftOf="@+id/editText2"app:layout_constraintRight_toRightOf="@+id/editText2"tools:layout_constraintLeft_creator="1"tools:layout_constraintRight_creator="1"tools:layout_editor_absoluteX="-15dp"tools:layout_editor_absoluteY="152dp" /><EditTextandroid:id="@+id/editText2"android:layout_width="240dp"android:layout_height="45dp"android:layout_marginEnd="69dp"android:layout_marginLeft="0dp"android:layout_marginRight="0dp"android:layout_marginStart="69dp"android:ems="10"android:hint="@string/password"android:inputType="textPassword"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="@+id/button"app:layout_constraintRight_toRightOf="@+id/button2"app:layout_constraintTop_toTopOf="parent"tools:layout_constraintBottom_creator="1"tools:layout_constraintLeft_creator="1"tools:layout_constraintRight_creator="1"tools:layout_constraintTop_creator="1" /><TextViewandroid:id="@+id/textView2"android:layout_width="250dp"android:layout_height="65dp"android:layout_marginBottom="50dp"android:layout_marginLeft="8dp"android:layout_marginRight="8dp"android:autoText="false"android:text="Welcome"android:textAlignment="center"android:textSize="50sp"android:textStyle="bold"app:layout_constraintBottom_toTopOf="@+id/editText"app:layout_constraintHorizontal_bias="0.509"app:layout_constraintLeft_toLeftOf="@+id/editText"app:layout_constraintRight_toRightOf="@+id/editText" /></android.support.constraint.ConstraintLayout>login.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"android:weightSum="1"><TextViewandroid:id="@+id/textView3"android:layout_width="0dp"android:layout_height="118dp"android:layout_marginTop="200dp"android:layout_weight="1"android:text="@string/great_you_ve_login"android:textAlignment="center"android:textSize="24sp"android:textStyle="bold" /></LinearLayout>register.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_vertical|center_horizontal"android:orientation="vertical"><EditTextandroid:id="@+id/editText5"android:layout_width="270dp"android:layout_height="wrap_content"android:ems="10"android:hint="Username"android:inputType="textPersonName" /><EditTextandroid:id="@+id/editText6"android:layout_width="270dp"android:layout_height="wrap_content"android:ems="10"android:hint="Email"android:inputType="textPersonName" /><EditTextandroid:id="@+id/editText7"android:layout_width="270dp"android:layout_height="wrap_content"android:ems="10"android:hint="Password"android:inputType="textPassword" /><EditTextandroid:id="@+id/editText8"android:layout_width="270dp"android:layout_height="wrap_content"android:ems="10"android:hint="Confirm password"android:inputType="textPassword" /><Buttonandroid:id="@+id/button3"android:layout_width="270dp"android:layout_height="wrap_content"android:text="Submit" /></LinearLayout></LinearLayout>strings.xml<resources><string name="app_name">LayoutLearn</string><string name="login">Login</string><string name="register">Register</string><string name="username">Username</string><string name="password">Password</string><string name="great_you_ve_login">Great, you\'ve logged in!</string></resources>build.gradleapply plugin: 'com.android.application'android {compileSdkVersion 25buildToolsVersion "25.0.3"defaultConfig {applicationId "youtlearn"minSdkVersion 19targetSdkVersion 25versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }}}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations'})compile 'com.android.support:appcompat-v7:25.3.1'compile 'com.android.support.constraint:constraint-layout:1.0.2'testCompile 'junit:junit:4.12'}。
