Campus Talking 小记(2)

Let us to make our app

根据昨天的进度,我们已经制作了我们的启动页面,有一个启动页面是不是很有正规app的那个味儿,哈哈哈哈,反正我是这么想的。在做了一个启动页面之后,我们来到了登陆页面。(我的项目编写是根据app启动的过程定的)

我们正常的app的登陆分为两个部分:登陆,注册部分,由于这需要后端方向的支持,我会编写,但是该专题是进行android方面的编写。

转入正题,我们根据需求来定方案:

  • 1,我们需要一个登陆界面
  • 2,我们需要一个注册界面
  • 3,登陆界面需要账号密码输入框,以及跳转注册界面
  • 4,注册界面需要账号密码输入框,以及跳转注册界面 5,登陆或注册成功则去进入主界面,否则则会弹出Toast信息。

根据需求,我有两套方案:

方案一:分别设有登陆界面和注册的界面的两个Activity,设置按钮进行跳转。

方案二:利用Fragment和viewPager的结合形成一个Tab实现在同一个Activity进行切换。

我们这里采取第二种方案,方案一简单不够新颖。
我们先进行主要框架的搭建(UI太过粗糙,莫怪莫怪):
我先附上效果图请添加图片描述

请添加图片描述

现在是代码部分:

首先是fragment_login部分:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"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"tools:context=".Login_frag.LoginFragment"><!-- TODO: Update blank fragment layout --><EditTextandroid:id="@+id/Ex_username"android:layout_width="301dp"android:layout_height="48dp"android:hint="Username"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.852"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.095" /><EditTextandroid:id="@+id/Ex_password"android:layout_width="301dp"android:layout_height="48dp"android:layout_marginTop="36dp"android:hint="Password"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.854"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/Ex_username" /><TextViewandroid:id="@+id/textView5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="84dp"android:text="UserName"app:layout_constraintEnd_toStartOf="@+id/Ex_username"app:layout_constraintHorizontal_bias="0.465"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/textView6"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="64dp"android:text="PassWord"app:layout_constraintEnd_toStartOf="@+id/Ex_password"app:layout_constraintHorizontal_bias="0.444"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView5" /><Buttonandroid:id="@+id/bt_login"android:layout_width="150dp"android:layout_height="wrap_content"android:layout_marginTop="58dp"android:background="@color/pink"android:text="Login"android:textColor="@color/white"android:textStyle="italic"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/Ex_password"tools:ignore="TextContrastCheck" /><TextViewandroid:id="@+id/textView7"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginBottom="36dp"android:text="注意事项"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toStartOf="@+id/textView8"app:layout_constraintHorizontal_bias="0.194"app:layout_constraintStart_toStartOf="parent" /><TextViewandroid:id="@+id/textView8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginEnd="28dp"android:layout_marginBottom="36dp"android:text="用户须知"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>

其次是fragment_register部分:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"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"tools:context=".Login_frag.RegiserFragment"><!-- TODO: Update blank fragment layout --><EditTextandroid:id="@+id/Ex_passworden"android:layout_width="301dp"android:layout_height="48dp"android:layout_marginTop="20dp"android:hint="确认密码"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.854"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/Ex_username" /><EditTextandroid:id="@+id/Ex_password"android:layout_width="301dp"android:layout_height="48dp"android:layout_marginTop="20dp"android:hint="输入密码"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.854"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/Ex_SchoolId" /><EditTextandroid:id="@+id/Ex_username"android:layout_width="301dp"android:layout_height="48dp"android:hint="输入用户名"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.854"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.092" /><EditTextandroid:id="@+id/Ex_SchoolId"android:layout_width="301dp"android:layout_height="48dp"android:hint="输入学号"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.854"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/Ex_passworden"app:layout_constraintVertical_bias="0.029" /><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="76dp"android:text="TextView"app:layout_constraintEnd_toStartOf="@+id/Ex_username"app:layout_constraintHorizontal_bias="0.444"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="44dp"android:text="TextView"app:layout_constraintEnd_toStartOf="@+id/Ex_passworden"app:layout_constraintHorizontal_bias="0.472"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView" /><Buttonandroid:id="@+id/bt_Register"android:layout_width="150dp"android:layout_height="wrap_content"android:layout_marginTop="52dp"android:background="@color/pink"android:text="Register"android:textColor="@color/white"android:textStyle="italic"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.498"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/Ex_password" /><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="44dp"android:layout_marginEnd="20dp"android:text="TextView"app:layout_constraintEnd_toStartOf="@+id/Ex_SchoolId"app:layout_constraintHorizontal_bias="1.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView2" /><TextViewandroid:id="@+id/textView4"android:layout_width="60dp"android:layout_height="16dp"android:layout_marginTop="48dp"android:text="TextView"app:layout_constraintEnd_toStartOf="@+id/Ex_password"app:layout_constraintHorizontal_bias="0.441"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView3" />
</androidx.constraintlayout.widget.ConstraintLayout>

再就是LoginMainActivity的java文件和xml文件代码:

package com.example.campus_talk;import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import com.example.campus_talk.Login_frag.LoginFragment;
import com.example.campus_talk.Login_frag.RegiserFragment;
import com.example.campus_talk.menu.MenuActivity;
import com.google.android.material.tabs.TabLayout;import java.util.ArrayList;
import java.util.List;public class LoginActivity extends AppCompatActivity {TabLayout tabLayout;ViewPager viewPager;EditText usernameEdtext;EditText passwordEdtext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);//initView();prepareViewPager(viewPager);}private void prepareViewPager(ViewPager viewPager) {//初始化适配器MainAdapter adapter = new MainAdapter(getSupportFragmentManager());//初始化fragmentLoginFragment loginFragment = new LoginFragment();RegiserFragment regiserFragment = new RegiserFragment();//把title和Fragment绑定放入adapteradapter.addFragment(loginFragment, "Login");adapter.addFragment(regiserFragment, "Register");//viewPager添加适配器viewPager.setAdapter(adapter);//把tablayout添加到viewpagertabLayout.setupWithViewPager(viewPager);}private void initView() {tabLayout = findViewById(R.id.tab_layout);viewPager = findViewById(R.id.view_pager);}private class MainAdapter extends FragmentPagerAdapter {ArrayList<String> list = new ArrayList<>();List<Fragment> fragmentlist = new ArrayList<>();public void addFragment(Fragment fragment, String title) {//add titlelist.add(title);fragmentlist.add(fragment);}public MainAdapter(@NonNull FragmentManager fm) {super(fm);}@NonNull@Overridepublic Fragment getItem(int position) {return fragmentlist.get(position);}@Overridepublic int getCount() {//return fragment sizereturn fragmentlist.size();}@Nullable@Overridepublic CharSequence getPageTitle(int position) {//return array list positionreturn list.get(position);}}}

现在是xml代码部分:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"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:orientation="vertical"tools:context=".LoginActivity">
<com.google.android.material.tabs.TabLayoutandroid:layout_marginTop="150dp"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/tab_layout"app:tabTextColor="@color/white"app:tabIndicatorColor="@color/white"app:tabSelectedTextColor="@color/pink"android:background="@color/purple_200"/><androidx.viewpager.widget.ViewPagerandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/view_pager"/></LinearLayout>

在Fragment中的部分代码截取:

Login部分

请添加图片描述

Register部分

请添加图片描述
以上就是今天的Campus的界面搭建分享,越努力越幸运!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/61507.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

真人CS、趣味拓展、空中断桥、越野车、露营 2天亲子活动方案

真人CS、趣味拓展、空中断桥、越野车、露营 2天亲子活动方案 时间安排 项目安排 第一天 08:00-09:30 集合&#xff0c;清点人数&#xff0c;乘车前往指定拓展基地 09:30-12:00 团队熔炼&#xff1a;破冰分组、团队建设、团队展示 挑战项目&#xff1a;亲子CS 12:00-13…

面对疫情 你可以这样面对—番禺区青少年儿童综合能力训练营开营

近段时间&#xff0c;新冠疫情在全国多点出现&#xff0c;部分青少年因此出现情绪困扰&#xff0c;日前&#xff0c;由区民政局指导、区慈善会主办、区社联会承办的区第七届公益慈善创投资助项目——“牵手成长”番禺区青少年儿童综合能力提升训练营&#xff08;下文简称“训练…

关注流动儿童心理健康,这场亲子营游学活动很“有爱”

近日&#xff0c;由广州市组织管理局、中共广州市社会组织委员会、广州市社会组织联合会指导&#xff0c;广州市福彩公益金资助&#xff0c;广州市为本社会心理慈善服务中心承办&#xff0c;第八届广州市社会组织公益创投“爱无限心关爱”助力健康中国共筑成长路——流动儿童心…

2019美团点评笔试编程题(A~Z美团骑手)

晚了17分钟。17&#xff1a;17分做出来了。。。。但是我由于迟到了五十分钟才开始的&#xff0c;美团竟然不像腾讯一样&#xff0c;迟到时间不计算。唉无缘了。前面的选择题真的好几道不看就狂选&#xff0c;节约时间。还有那个伪代码论述题是关于 “六度空间理论”&#xff0c…

“我培训完JAVA,进了美团,美团氛围特别好,就是送餐特别累”

周末不想做饭&#xff0c;外面又下了点小雨&#xff0c;于是点了个外卖&#xff0c;没过多久外卖小哥就到了&#xff0c;门敞着&#xff0c;我斜躺在沙发上刷《神盾局》第七季&#xff0c;示意小哥放在桌子上就可以了。 小哥把餐盒放在桌子上&#xff0c;瞥见我桌上的一本《JAV…

学python能赚什么外卖-用python模拟美团外卖骑手推送请求

项目中接入了美团外卖配送接口&#xff0c;当骑手进行接单、取货等操作时&#xff0c;会将这些操作推送到第三方系统中&#xff0c;在测试环境下&#xff0c;并没有真正的骑手会接单&#xff0c;我们需要模拟正式环境推送的信息&#xff0c;此时就可以用python模拟请求来进行这…

美团面试经验分享

本文面试题是转载于&#xff1a;程序员乔戈里&#xff0c;因为作者只是描述面试问题的过程&#xff0c;我这里对面试问题做详细补充。 一面 1、自我介绍 答&#xff1a;自我介绍是面试中唯一的自己主动介绍自己的环节&#xff0c;一定要好好把握好&#xff0c;你数据结构学的…

三面美团测开岗,HR 现场直接发 offer,他是横着走出来的

前情提要 这是一个发生在我朋友身上的真实事情&#xff1a; 这里就叫他程序员 Y 吧。 程序员 Y 工作不到两年&#xff0c;周末在朋友圈发了个喜报&#xff0c;准备入职美团。 之后&#xff0c;我就带着祝福跟 Y 聊了许久&#xff0c;聊天的内容就是具体了解一下他面试的过程…

入职美团Java岗后,美团人事分享给了我一份面试笔记......

时光飞逝 生活还的继续&#xff0c;在上个月都是不停的在面试&#xff0c;结果却都是回家等通知。 在我感到失望迷茫的时候却意外接到了美团人事的电话&#xff0c;让我带齐资料礼拜一去人事报道&#xff0c;更让我没有想到的是他顺便给我发了一些尚未整理的书籍资料 &#xf…

三面美团 Java 岗,HR 现场直接发 offer,他是横着走出来的

前情提要 这是一个发生在我朋友身上的真实事情&#xff1a; 这里就叫他程序员 Y 吧。 程序员 Y 工作不到两年&#xff0c;周末在朋友圈发了个喜报&#xff0c;准备入职美团。 之后&#xff0c;我就带着祝福跟 Y 聊了许久&#xff0c;聊天的内容就是具体了解一下他面试的过程…

美团外卖骑手背后的AI技术

背景 随着数字化时代的到来&#xff0c;外卖市场近年来发展非常迅猛。对外卖物流系统而言&#xff0c;配送效率和用户体验至关重要。而实际配送过程是由配送员&#xff08;骑手&#xff09;最终完成的&#xff0c;因此&#xff0c;想要真正提升配送效率&#xff0c;不但要在智…

手握美团offer,结果背调红灯,哭了....

相信很多人都会包装简历&#xff0c;尤其是工作经历&#xff0c;不过也有人会填一下虚假的背景信息&#xff0c;比如公司leader或HR&#xff0c;小公司没有实力过多进行背调&#xff0c;但是大企业就不同了&#xff0c;他们有方法了解到实际的情况。 背调包括候选人以往的经历…

【美团·北京沙龙报名】全球最大外卖配送平台用了哪些AI技术?

【美团技术沙龙】由美团技术团队和美团科协主办&#xff0c;每期沙龙邀请美团及其他互联网公司的技术专家分享来自一线的实践经验&#xff0c;覆盖各主要技术领域。 活动时间&#xff1a;2018年11月25日 14:00-18:00 活动地址&#xff1a;&#xff08;北京朝阳&#xff09;望京…

招聘 | 美团-算法工程师-社招

进NLP群—>加入NLP交流群 算法工程师 【部门】&#xff1a;美团-到家事业群-搜索推荐技术部 【城市】&#xff1a;北京市 【职级范围】&#xff1a;L7 - L8 【部门介绍】&#xff1a;到家研发平台秉承“零售科技”战略&#xff0c;致力于推动餐饮、零售需求侧和供给侧数字化…

美团软件开发工程师一面

部分知识点引用小林coding TCP/IP网络模型及相关协议 应用层&#xff1a;专注于为用户提供应用功能&#xff0c;比如 HTTP、FTP、Telnet、DNS、SMTP等。 传输层&#xff1a;为应用层提供网络支持的&#xff0c;有两个传输协议&#xff0c;分别是 TCP 和 UDP。 网络层&#xff1…

share一下美团面试经历

作者&#xff1a;只爱羽毛球的程序媛 || 编辑&#xff1a;搜云库技术团队blog.csdn.net/csuliyajin2012/article/details/49430659 美团我是在拉勾网上投的简历&#xff0c;之前也投过一次&#xff0c;简历都没通过删选&#xff0c;后来让学姐帮我改了一下简历&#xff0c;重新…

【软件测试】四面成功上岸美团

最后&#xff0c;总结一下个人认为比较重要的知识点&#xff1a;接口自动化测试 &#xff1a;测试框架&#xff0c;多个有关联的接口的用例编写&#xff0c;用例的组织及存储&#xff0c;接口测试的覆盖率&#xff0c;RESTAssured 的封装等。UI 自动化测试 &#xff1a;iOS 和 …

【2023.3.18 美团校招】

文章目录 1. 小美剪彩带2. 最多修改两个字符&#xff0c;生成字典序最小的回文串美团面试手撕题 1. 小美剪彩带 题意&#xff1a;找出区间内不超过k种数字子数组的最大长度 使用双指针的方式&#xff0c;用哈希表来统计每个数出现次数。在双指针移动的过程中&#xff0c;动态的…

【招聘直通车】美团公交业务部交通事业部招聘啦!

美团招聘直通车第四班起航啦&#xff5e;&#xff5e;&#xff5e; 美团交通事业部&公交业务部秉承“帮大家吃得更好&#xff0c;生活更好”的核心理念&#xff0c;致力于打造行业领先的智能出行平台&#xff0c;帮助用户更好的制定出行方案。 火车票业务自2015年上线以来&…

美团外卖【成都】技术团队,招人啦!

点击上方蓝字订阅&#xff0c;不错过下一次招聘消息 查看更多岗位信息&#xff0c;请点击“阅读原文”。