Android手机登陆界面
首先让我们来看一下,最基本的一个手机登陆界面图:
下面让我们通过以下步骤来制作出这个界面。
一、创建Android项目
配制好以上信息,创建好项目。在Package Explorer面板中可以看到刚创建的项目
具体看一下目录中,哪些是我们需要使用到的文件
根据上图我们可以看到:MainBody.java Main.xml Strings.xml AndroidManifest.xml 这四个文件。我们需要知道这四个文件的具体作用是什么,才好接着做下面的工作。
MainBody.java——这是我们创建的java文件,他主要是实现项目的功能。
Main.xml ——实现窗体界面的布局和显示。
Strings.xml——这是Main.xml程序中的变量登记表。
AndroidManifest.xml——这是窗体页面登记表。
以上只是简单的介绍其主要功能,接下来我们在具体的应用中来认识这几个文件。
二、显示窗体
1、打开Main.xml 文件,默认会默示如下:
如果了解超文本标记语言<HTML>,对上面的代码就会觉得很熟悉了,所以让我们主要看一下这几个标签具体代表什么意思:
LinearLayout表示一行的布局。这整个窗体布局器中只有一行,可见这个界面就只有一行,即整块手机屏幕区域。
TextView表示一个组件,用于显示一个文本区域,并且可以看到,这个文本是来看hello这个变量。
android:layout_width="fill_parent" 表示设置宽度,为充满整个窗体。
android:layout_height="wrap_content" 表示设置高度,为默认尺寸。
那么根据这个布局器的特点我们可以创建出我们想要的登陆界面。
Android中的窗体布局方式也和在java里面窗体布局方式是类似的,可以使用嵌套布局,就好像大盒子套用小盒子,从上面的代码中可以看出,整个屏幕是一行,在这一行中又分出了三行,分别为“帐户区”、“密码区”、“按钮区”。然后在三个区域中又添加了各种组件;<TextView>表示显示文本,<Edit Text>表示文本输入框,<Button>表示按钮。每行都设置了按行居中。需要注意设置组件的尺寸!
完成以上步骤就可以启动模拟器,查看一下自己设计的界面的效果。
看到效果后我们会发现,“Hello World, MainBody!”不是我们想要的,那么就让我们改正过来吧!
打开String.xml文件,可以看到在在Main.xml布局管理器中,hello变量的值<string name="hello">Hello World, MainBody!</string> ,其实我们也可以在这里创建变量和赋值,在Main.xml中去使用,但我们在这里可以改变hello变量的值,<string name="hello">用户登陆</string>。这样我们的基本界面就完成了。
三、添加功能
界面出来了,但你会发现窗体上的组件没有任何作用,所以接下来我们就需要为窗体上的组件添加上相应的功能。
登陆界面的功能是当我们输入正确的帐户和密码之后,自动将页面跳转到新的页面中去。即接下来要实现的就是从输入框中获取信息,按登陆按钮时自动核对信息。
这时我们需要在MainBody.java文件中来实现这些功能。以下为默认内容。
onCreate()就是我们的主程序入口,相当于Main()函数,在程序中第一个执行的主线程。也许我们会产生疑问,我们刚刚编写的窗体界面是如何与这个功能程序关联的呢?细心的人可以看到setContentView(R.layout.main);这句代码,正是这个代码确定了本程序的具体布局也是显示窗体的功能。
下面让我们来添加窗体的按钮的监听器,监听屏幕上对象。当按下按钮时产生相应的功能。
我们使用命名内部类的方式创建Lister监听对象,OnClickListener是一个接口,创建对象后还需要实现它里面的方法体,该接口中只有一个方法体onClick(View v);接下来实现监听器内的方法麻烦就来了,如何知道窗体上点中的是哪个按钮呢?如何获得在Main.xml布局管理器中创建的组件呢?这时我们可以回到第二步“显示窗体”中或查看我们的Main.xml文件中,我们会发现,在我们创建组件时,都加上了android:id="@+id/person_name"这样一段代码,只是斜杠后面的名称都不一样,这就是我们给每个组件设置的ID号,这个ID号会在R.java文件中自动注册,并且全部是静态变量,既然是静态变量,那我们就可以跨类使用R.java文件中注册的ID号来对Main.xml中的对象操作了,如果我这样说不能明白,那只要知道我们可以通过使用对象的ID号来对组件操作就行了。
好啦!那我们从View V这个窗体对象中来获取被操作的对象ID,通过v.getId()方法来获得一个整形数值;用switch()语句来判断相应的操作,对应的值就是R.id.名称。通过这种方式我们就可以确定在窗体上点击了什么按钮,当然还需要对按钮对象加上这个监听方法就OK了。接着我们完善一下当按下“登陆”按钮时,触发的下一事件,即判断帐户和密码输入框中是否有内容以及内容是否正确。
我们知道了如何获取按钮的操作方法了,那么文本输入框的操作方法获取方式是否以前面一样呢?如果我们尝试后会知道,我们虽然可以通过ID获取文本输入框这个对象,却无法通过这种方法获取文本输入框中的内容。那么这里我们就需要把这个ID的对象实例化了,根据它的ID来实例化这个对象,如下图所示:
其实每个组件都可以被实例化,这里我们也看到了,需要通过实例化后的组件对象才能添加刚才我们创建的监听方法,这里需要注意,帐户和密码输入框两个组件都定义成了全局变量,这样方便在监听方法中直接引用。
好啦!我们又回来登陆操作上来,用判断语句来"dongjie".equals(person_password.getText().toString()判断是不是正确的用户名,toString是把getText()方法中获取的信息转化成字符串来比较;这样如果成立就继续判断密码,如果密码也成立就跳转页面(实现跳转页面的方法在第四步)。如果输入有误,那么我们可以在手机屏幕上出现错误提示信息Toast.makeText(iPhoneI.this, "帐户名有误!", 3).show();。
“注册”按钮由于时间的原因没有去实现,其实注册很简单,创建一个队列,可以把用户信息保存起来,再在登陆时从队列中取出数据来比对就OK了。
“重置”按钮,就是当点击这个按钮时,自动把两个输入框中的内容自动清除;这个实现也很简单,只要把Text中的内容设为空字符就OK啦!
好!功能基本上都实现啦,最后一步,很多人一不小心就会忘记,我们还没有在主程序入口中调用获取组件的方法。再完成下面页面跳转的操作就大功告成了。
四、页面跳转
这个操作相对来说复杂一点点,不过也很简单三个步骤可以迅速完成。
1、 再新建一个java程序
新建一个新类也就是新页面,例如:“Page_One.java”,新建完以后把这个类继承Activity这个类,因为Android开发,Activity是所有类和接口的父类,就相当于java里面的Obejcet一样。这里就不多说了,在类中仍然在创建主程序入口:
2、再新建一个布局管理器
这里的setContentView设置的布局管理器就不再是R.layout.Main了,而是需要我们重新创建新一个布局管理器。名称可以自拟,我这里命名为“page_one”,在这里我们暂时只将这个页面设置一下背景,至于跳转后的页面需要做什么,那么可以往后再继续。新建布局可以复制一份Main.xml把名字改变一下就可以了,然后把里面的组件可以去掉,只设置一下背景就OK啦!如下代码:
关键代码:android:background="@drawable/hehe’
hehe是一个图片文件名,drawable是默认的目录,保存后OK!
如果这个时候你去测试,当你输入帐户和密码后你会发生,程序跳出警告信息,自动终止程序。出现这个情况就对了,这里确实还有一步没有完成。
3、注册登记这个页面
刚才我们提到四个文件,现在我们只剩下一个文件没有接触了,这个文件就是AndroidManifest.xml,在这里我们需要把Page_One.java这个新页面登记到这个文件中。
从上图中可以看到,这整个工程的一些基本配置信息,但此时我们不用去在意,我们只需要在<application>标签之间添加一个<activity android:name=".Page_One" />就行了,这样我们就全部完成了。
好啦!测试一下吧!
登陆之前
登陆之后
- 大小: 15.1 KB
- 大小: 75.4 KB
- 大小: 50.1 KB
- 大小: 13.5 KB
- 大小: 46.1 KB
- 大小: 28.4 KB
- 大小: 10.9 KB
- 大小: 79.1 KB
- 大小: 20.4 KB
- 大小: 25.9 KB
- 大小: 3.8 KB
- 大小: 23.2 KB
- 大小: 27.7 KB
- 大小: 14.3 KB
- 大小: 24.8 KB
- 大小: 15.9 KB
- 大小: 18.2 KB
分享到:
相关推荐
iOS版微信抢红包Tweak.zip小程序
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
基于springboot社区停车信息管理系统.zip
基于springboot南皮站化验室管理系统源码数据库文档.zip
## 数据指标说明 全要素生产率(TFP)也可以称之为系统生产率。指生产单位(主要为企业)作为系统中的各个要素的综合生产率,以区别于要素生产率(如技术生产率)。测算公式为:全要素生产率=产出总量/全部资源投入量。 数据测算:包含OL、FE、LP、OP、GMM共五种TFP测算方法!数据结果包括excel和dta格式,其中重要指标包括证券代码,固定资产净额,营业总收入,营业收入,营业成本,销售费用,管理费用,财务费用,购建固定资产无形资产和其他长期资产支付的现金,支付给职工以及为职工支付的现金,员工人数,折旧摊销,行业代码,上市日期,AB股交叉码,退市日期,年末是否ST或PT等变量指标分析。文件包括计算方法说明及原始数据和代码。 数据名称:上市公司全要素生产率TFP数据及测算方法(OL、FE、LP、OP、GMM) 数据年份:2000-2023年 数据指标:证券代码、year、TFP_OLS、TFP_FE、TFP_LP1、TFP_OP、TFP_OPacf、TFP_GMM
内容概要:本文详细总结了多种编程语言下常用的算法实现资源,涵盖Python、C++、Java等流行编程语言及其相关的开源平台、在线课程和权威书籍。对于每种语言而言,均提供了具体资源列表,包括开源项目、标准库支持、在线课程及专业书籍推荐。 适合人群:适用于所有希望深入研究并提高特定编程语言算法能力的学习者,无论是编程新手还是有一定经验的技术人员。 使用场景及目标:帮助开发者快速定位到合适的算法学习资料,无论是出于个人兴趣自学、面试准备或是实际工作中遇到的具体算法问题,都能找到合适的解决方案。 其他说明:文中提及多个在线学习平台和社区网站,不仅限于某一特定语言,对于跨学科或多元化技能培养也具有很高的参考价值。
基于springboot的交通旅游订票系统源码数据库文档.zip
内容概要:本文档是一份详细的GO语言教程,涵盖了Go语言的基础语法、数据类型、控制结构、函数、结构体、接口以及并发编程等多个方面。主要内容包括Go语言的基本概念和历史背景、环境配置、基本语法(如变量、数据类型、控制结构)、函数定义与调用、高级特性(如闭包、可变参数)、自定义数据类型(如结构体、接口)以及并发编程(如goroutine、channel、select)等内容。每部分内容都附有具体的代码示例,帮助读者理解和掌握相关知识点。 适合人群:具备一定编程基础的开发者,尤其是希望深入学习和应用Go语言的技术人员。 使用场景及目标:①初学者通过本教程快速入门Go语言;②有一定经验的开发者系统复习和完善Go语言知识;③实际项目开发中利用Go语言解决高性能、高并发的编程问题。 阅读建议:本文档全面介绍了Go语言的各项基础知识和技术细节,建议按章节顺序逐步学习,通过动手实践代码示例加深理解。对于复杂的概念和技术点,可以通过查阅更多资料或进行深入研究来巩固知识。
GEE训练教程
memcached笔记资料,配套视频:https://www.bilibili.com/list/474327672?sid=4486766&spm_id_from=333.999.0.0&desc=1
基于springboot校内跑腿业务系统源码数据库文档.zip
计算机控制光感自动窗帘控制系统设计.doc
基于SpringBoot的校园服务系统源码数据库文档.zip
基于SpringBoot+Vue的美容店信息管理系统源码数据库文档.zip
基于springboot程序设计基础课程辅助教学系统源码数据库文档.zip
这是一个原生的JS网页版斗地主小游戏,代码注释全。带有斗地主游戏基本的地主、选牌、提示、出牌、倒计时等功能。简单好玩,欢迎下载
基于springboot亚运会志愿者管理系统源码数据库文档.zip
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
GEE训练教程——Landsat5、8和Sentinel-2、DEM和各2哦想指数下载
基于springboot家校合作平台源码数据库文档.zip