Android开发简易登录界面


title: Android开发第四天
search: 2024-03-22
tags:

  • Android开发

Android开发简易登录界面

文章目录

  • Android开发简易登录界面
    • 一、定义`style`样式
    • 二、完成 `activity_main.xml` 界面具体设计
      • 三、代码简述

背景 :在初学 android 开发的时候,为了尽量熟悉学会基础的 android 开发控件和一些基本语言,写的一个简易登录界面,锻炼代码手感

一、定义style样式

为了简化代码,我们先在 styles.xml 中定义样式,后面遇到相同的代码就能够省下不少代码,类似于前端的组件,写好了组件,可以进行复用

    <style name="tvOne"><item name ="android:layout_width">0dp</item><item name="android:layout_height">match_parent</item><item name="android:layout_weight">1</item><item name="android:gravity">center_horizontal</item><item name="android:textColor">@android:color/white</item><item name="android:textSize">15dp</item></style><style name="tvTwo"><item name="android:layout_width">wrap_content</item><item name="android:layout_height">wrap_content</item><item name="android:layout_marginLeft">20dp</item><item name="android:textSize">30dp</item><item name="android:textColor">@android:color/white</item></style><style name="vLine" ><item name="android:layout_width">1dp</item><item name="android:layout_height">match_parent</item><item name="background">@android:color/white</item></style><style name="hLine" ><item name="android:layout_width">match_parent</item><item name="android:layout_height">1dp</item><item name="background">@android:color/holo_red_dark</item></style><style name="etOne"><item name="android:layout_width">match_parent</item><item name="android:layout_height">wrap_content</item><item name="android:layout_marginLeft"> 30dp</item><item name="background">@null</item><item name="android:textColor">@android:color/white</item></style>

自定义了几个样式,后序我打算用来放在 文本框(TextView)和 分割线 (View)中,以及一个输入框(EditText

打算做成的登录界面框架如下:

在这里插入图片描述

二、完成 activity_main.xml 界面具体设计

代码具体的实现没有什么好说的,就是使用基础的样式设计,完成这个代码的目的也仅仅是为了锻炼一下快捷键,让自己熟悉一下 android 开发的基础语法

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/gg"tools:context=".MainActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/tv_title"android:layout_width="match_parent"android:layout_height="50dp"android:background="@color/black"android:gravity="center"android:text="注册"android:textColor="@color/white"android:textSize="20sp"/><LinearLayout android:layout_width="match_parent" android:layout_height="130dp"android:orientation="horizontal"><TextViewstyle="@style/tvOne"android:drawableTop="@drawable/ic_launcher_foreground"android:text="用QQ注册"/><View style="@style/vLine"/><TextView style="@style/tvOne"android:drawableTop="@drawable/ic_launcher_foreground"android:text="用微信注册"/></LinearLayout><View style="@style/hLine"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal"android:padding="15dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="match_parent"android:src="@mipmap/background"/><TextView android:layout_width="wrap_content" android:layout_height="30dp"android:layout_marginLeft="15dp"android:text="请使用电子邮箱注册"android:textColor="@color/white"android:textSize="20dp"/></LinearLayout><View style="@style/hLine"/><LinearLayout android:gravity="center"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:padding="15dp"><TextView style="@style/tvTwo"android:text="名字"/><EditTextandroid:id="@+id/et_name"android:minHeight="48dp"style="@style/etOne" android:hint="YourName"/></LinearLayout><View style="@style/hLine"/><LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal"android:padding="15dp"><TextView style="@style/tvTwo"android:text="邮箱"/><EditText android:id="@+id/et_email"android:hint="YourEmail"style="@style/etOne" android:minHeight="48dp"/></LinearLayout><View style="@style/hLine"/><LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"android:orientation="horizontal"android:padding="15dp"><TextView style="@style/tvTwo"android:text="密码"/><EditText android:id="@+id/et_password"style="@style/etOne"android:minHeight="48dp"android:hint="YourPassword"android:inputType="textPassword"/></LinearLayout><View style="@style/hLine"/><LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"android:orientation="horizontal"android:padding="15dp"><TextView style="@style/tvTwo"android:layout_gravity="center"android:text="性别"/><RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content"android:id="@+id/rg_sex"android:layout_marginLeft="50dp"android:orientation="horizontal"><RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content"android:id="@+id/rb_boy"android:text=""android:textColor="@color/material_on_primary_emphasis_high_type"android:textSize="30sp"/><RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content"android:id="@+id/rb_girl"android:text=""android:layout_marginLeft="30dp"android:textColor="@color/material_on_primary_emphasis_high_type"android:textSize="30dp"/></RadioGroup></LinearLayout><View style="@style/hLine"/><LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"android:orientation="vertical"android:padding="15dp"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content"android:text="请选择你的兴趣和爱好"android:textColor="@color/white"android:textSize="20dp"android:layout_marginLeft="20dp"android:textStyle="bold"/><LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"android:orientation="horizontal"><CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content"android:id="@+id/cb_sing"android:text="唱歌"android:layout_marginLeft="10dp"android:textColor="@color/white"android:textSize="20dp"/><CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content"android:id="@+id/cb_dance"android:text="跳舞"android:layout_marginLeft="10dp"android:textColor="@color/white"android:textSize="20dp"/><CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content"android:id="@+id/cb_read"android:text="阅读"android:layout_marginLeft="10dp"android:textColor="@color/white"android:textSize="20dp"/><CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content"android:id="@+id/cb_chess"android:text="下棋"android:layout_marginLeft="10dp"android:textColor="@color/white"android:textSize="20dp"/></LinearLayout></LinearLayout><View style="@style/hLine"/></LinearLayout><View android:layout_width="match_parent" android:layout_height="1dp"android:id="@+id/v_line"android:layout_above="@+id/btn_submit"android:background="@android:color/darker_gray"/><Button android:layout_width="match_parent" android:layout_height="50dp"android:id="@+id/btn_submit"android:layout_alignParentBottom="true"android:gravity="center"android:text="提交"android:textSize="20dp"android:textStyle="bold"/></RelativeLayout>

三、代码简述

avtivity_main.xml代码片段是一个用于Android应用的XML布局文件,它定义了MainActivity的用户界面结构。整个布局采用RelativeLayout作为根布局,并且设置了背景为@drawable/gg。以下是代码中各组件的框架解释:

  1. 根布局 RelativeLayout

    • 包含整个屏幕的布局,并设置了宽度和高度为父容器(match_parent),即全屏显示。
    • 背景引用了资源@drawable/gg
  2. 内部第一个LinearLayout

    • 垂直方向排列子视图。
    • 含有以下组件:
      • TextView:标题栏,居中显示文字“注册”。
      • 一个水平排列的LinearLayout,包含两个TextView和一个分割线ViewvLine样式),分别代表两种社交账号登录方式(QQ和微信)。
      • 分割线ViewhLine样式)。
      • 一个包含ImageViewTextViewLinearLayout,提示用户使用电子邮件注册。
      • 更多的分割线和垂直排列的LinearLayouts,分别对应姓名、邮箱、密码的输入框,每个输入框都包括一个标签(TextView)和一个实际输入控件(EditText)。
      • 性别选择部分:一个RadioGroup内含两个RadioButton,分别代表男女选项。
      • 兴趣爱好选择部分:一个TextView提示选择兴趣爱好,紧接着是一个包含四个CheckBoxLinearLayout,用于勾选用户的兴趣(唱歌、跳舞、阅读、下棋)。
      • 最后一个分割线View
  3. 底部元素

    • 一个细线View (v_line),位于提交按钮上方,作为视觉分隔。
    • 一个Button元件,id为btn_submit,位于屏幕底部,带有文字“提交”,用于用户完成表单并发送数据至服务器或执行相应的提交操作。

整体上,这段代码构建了一个注册界面,允许用户通过多种方式进行注册,并提供了填写个人信息如姓名、邮箱、密码、性别以及选择兴趣爱好的功能。最后,用户可以通过点击提交按钮来完成注册流程。

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

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

相关文章

使用下SAP HANA强大的Cloud控制台

前言 SAP的HANA数据库(注:这里指是云平台版本,不是platform的本地部署版本)的版本发布,基本上每个季度都有一次发布。2024年的第一个版本内部已经Release了,很快就会推到生产环境当中。当前要发布的版本是:2024.2.6 (QRC 1/2024)。而且每个版本的维护周期最长不会超过7…

Arduino+ESP8266+华为云物联网平台实现智能开关

前言 最近在做一个物联网项目&#xff0c;涉及到智能开关的开发。目前已经实现简单的TCP通信远程控制&#xff0c;但是考虑到后期的设备管理以及设备通信所需要的技术和服务器的维护成本&#xff0c;我决定将设备接入云平台。本文将详细阐述如何利用华为云的物联网平台&#x…

DB-GPT安装部署使用初体验

DB-GPT是什么&#xff1f;引自官网&#xff1a; DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。 目的是构建大模型领域的基础设施&#xff0c;通过开发多模型管理(SMMF)、…

【ssh连接】奇奇怪怪报错记录

gitlab配置ssh连接&#xff0c;先跟着教程生成密钥&#xff0c;上传公钥&#xff0c;将服务器信息存入config文件&#xff0c;但是ssh连接超时&#xff0c;很急&#xff0c;想用服务器&#xff0c;各种搜索尝试&#xff0c;搞了两三天别的什么都没干&#xff0c;还是没解决&…

【Canvas与艺术】淡蓝辉光汽车速度仪表盘

【关键点】 内圈处渐变色的采用。 【效果图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>淡蓝辉光汽车速度仪表盘</t…

谈谈消息队列

这篇文章我们来聊聊消息队列。我一直在想&#xff0c;能不能用一篇文章就把消息队列的所有内容给串联起来。然后&#xff0c;之后每次看到这篇文章的时候&#xff0c;我就能够立马回忆起来这个大知识的所有知识点。所以我想尝试一下用这种长文的方式&#xff0c;将我自己对于消…

Ubuntu系统设置静态固定IP保姆级教程

1、查看网络接口信息 ifconfig 首先需要确认要设置固定IP的网络接口。在大多数情况下&#xff0c;这通常是ens33 2、查看路由网关信息 route -n # 查看打印 路由表 网关地址 3、备份文件 为了防止防止出现意外问题。Ubuntu中的网络配置文件通常存储在/etc/netplan/目录下&…

微服务概述

微服务 概述1.单体架构2.分布式架构3.微服务的架构特征&#xff1a; 服务拆分和远程调用提供者与消费者 概述 1.单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部署。 单体架构的优缺点如下&#xff1a; 优点&#xff1a; 架构…

RPA使用Native Messaging 协议实现浏览器自动化

RPA 即机器人流程自动化&#xff0c;是一种利用软件机器人或人工智能来自动化业务流程中规则性、重复性任务的技术。RPA 技术可以模拟和执行人类在计算机上的交互操作&#xff0c;从而实现自动化处理数据、处理交易、触发通知等任务。帮助企业或个人实现业务流程的自动化和优化…

【Unity人机交互】人工智能之爬虫开章

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

2015年认证杯SPSSPRO杯数学建模B题(第一阶段)替换式密码全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 B题 替换式密码 原题再现&#xff1a; 历史上有许多密码的编制方法。较为简单的是替换式密码&#xff0c;也就是将文中出现的字符一对一地替换成其它的符号。对拼音文字而言&#xff0c;最简单的形式是单字母替换加密&#xff0c;也就是以每个…

金蝶云星空和管易云·奇门单据接口对接

金蝶云星空和管易云奇门单据接口对接 ​​ ​​ 对接源平台:管易云奇门 管易云是上海管易云计算软件有限公司旗下的专注提供电商企业管理软件服务的品牌&#xff0c;总部位于中国上海张江高科技产业园区。管易云旗下拥有管易云C-ERP、EC-OMS、EC-WMS、B2C/B2B/BBC/微商城开发…

速通数据结构第二站 顺序表

文章目录 速通数据结构与算法系列 1 速通数据结构与算法第一站 复杂度 http://t.csdnimg.cn/sxEGF 感谢佬们支持&#xff01; 目录 系列文章目录 前言一、顺序表 0 结构体 1 接口声明 2 初始化和销毁 3 扩容函数 4 打印和判空 5 尾插 …

基于51单片机的拔河游戏Proteus仿真

地址&#xff1a;https://pan.baidu.com/s/18LMEo-_WYcoyTOkWYJ0NUg 提取码&#xff1a;1234 仿真图&#xff1a; 1&#xff09;设计一个能进行拔河游戏的电路&#xff0c;通过按键控制游戏开始和复位。 2&#xff09;电路使用9个发光二极管排成一行&#xff0c;中间的LED为拔…

ElasticSearch之数据建模

写在前面 本文看下es数据建模相关的内容。 1&#xff1a;什么是数据建模 数据建模是对真实数据的一种抽象&#xff0c;最终映射为计算机形式的表现。其包括如下三个阶段&#xff1a; 1&#xff1a;概念模型 2&#xff1a;逻辑模型 3&#xff1a;数据模型2&#xff1a;es数据…

python爬虫基础-----运算符(第三天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

纹理压缩算法

一、什么是纹理压缩 我们知道游戏中对于3D物体表面细节的表现最重要的还是靠贴图来实现的&#xff0c;那么越是高分辨率越是真彩色的贴图自然表现力也是越强&#xff0c;但是同时带来的问题是所需占用的内存会成倍的上升&#xff0c;而节省内存这一点在目前的游戏中还是非常非…

实时通讯技术实现

实时通讯技术实现 前言 在CS架构中&#xff0c;经常会有实时通信的需求。客户端和服务端建立连接&#xff0c;服务端实时推送数据给客户端。本文介绍几种常见的实现方式&#xff0c;希望能给读者们一点点参考。 实时通讯的主要实现技术 长轮询(Long Polling) WebSocket 服务器发…

牛客周赛 Round 38(A,B,C,D,E,F,G)

比赛链接 官方讲解&#xff08;不分P不分段直接两小时怼上来是坏文明 &#xff09; 这场的题很棒&#xff0c;思维有难度&#xff0c;考察的知识点广泛&#xff0c;有深度&#xff0c;很透彻。感觉学到了很多。建议补题。 A 小红的正整数自增 思路&#xff1a; 签到。 可以…

6.5 Batch Normalization

在训练神经网络时&#xff0c;往往需要标准化&#xff08;normalization&#xff09;输入数据&#xff0c;使得网络的训练更加快速和有效。 然而SGD&#xff08;随机梯度下降&#xff09;等学习算法会在训练中不断改变网络的参数&#xff0c;隐藏层的激活值的分布会因此发生变…