Android UI布局—— 仿QQ登录界面

 

最近,有点空闲的时间就拿QQ登录界面来模仿练手,做了个简单的登录界面。界面一般般吧,不算很漂亮,现在拿出来分享,希望大家一起学习与进步。有什么不足之处,请各位大侠多多赐教,谢谢。这个界面涉及到LinearLayout、TableLayout和RelativeLayout等等。话不多说,先把截图弄出来先。

 1、320 * 480模拟器上运行的效果图

 

2、480 * 800模拟器上运行的效果图

 

3、在Eclipse下截的大纲视图,这样看起来比较直观

     

4、XML代码(各个布局的说明已经很清楚了): 

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <!-- 插入整个布局的背景图片 -->
  3 <LinearLayout 
  4     xmlns:android="http://schemas.android.com/apk/res/android"
  5     android:layout_width="fill_parent"
  6     android:layout_height="fill_parent"
  7     android:orientation="vertical" 
  8     android:background="@drawable/back">
  9     <!-- QQ登录界面最上面的图片 -->
 10     <ImageView
 11         android:id="@+id/imageView1"
 12         android:layout_width="wrap_content"
 13         android:layout_height="wrap_content"
 14         android:src="@drawable/qq" />
 15     <!-- 水平布局,包括QQ头像和输入信息的账号和密码 -->
 16     <LinearLayout
 17         android:orientation="horizontal"
 18         android:layout_width="fill_parent"
 19         android:layout_height="wrap_content" >
 20         <!-- QQ头像,插入图片,重心垂直居中,四周扩充3个像素 -->
 21         <ImageView
 22             android:id="@+id/head"
 23             android:layout_width="wrap_content"
 24             android:layout_height="wrap_content"        
 25             android:padding="3dip"
 26             android:layout_gravity="center_vertical"
 27             android:src="@drawable/head" />
 28         <!-- 表格布局,包括账号和密码 -->
 29         <TableLayout
 30             android:id="@+id/tableLayout1"
 31             android:layout_width="wrap_content"
 32             android:layout_height="wrap_content" 
 33             android:stretchColumns="1">
 34             <!-- 表格的第一行,账号文本和输入框,黑色粗体字,重心靠右,四周扩充5个像素 -->
 35             <TableRow>
 36                 <!-- "账号"文本 -->
 37                 <TextView 
 38                     android:text="账号:"                    
 39                     android:textStyle="bold"
 40                     android:textColor="#000000"
 41                     android:gravity="right"    
 42                     android:padding="5dip"/>
 43                 <!-- "账号"输入框,文本超出TextView的宽度的情况下,出现横拉条   -->
 44                 <EditText 
 45                     android:id="@+id/username"
 46                     android:scrollHorizontally="true"/>
 47             </TableRow>
 48             <!-- 表格的第二行,密码和密码输入框,黑色粗体字,重心靠右,扩充5个像素 -->
 49             <TableRow>
 50                 <!-- "密码"文本 -->
 51                 <TextView 
 52                     android:text="密码:"                    
 53                     android:textStyle="bold"
 54                     android:textColor="#000000"
 55                     android:gravity="right"    
 56                     android:padding="5dip"/>
 57                 <!-- "密码"输入框;文本超出TextView的宽度的情况下,出现横拉条  -->
 58                 <EditText 
 59                     android:id="@+id/password"
 60                     android:password="true"
 61                     android:scrollHorizontally="true"/>
 62             </TableRow>                      
 63         </TableLayout>      
 64     </LinearLayout>
 65     <!-- 相对布局,"记住密码"按钮和"自动登录"按钮 -->
 66     <RelativeLayout
 67         android:layout_width="fill_parent"
 68         android:layout_height="wrap_content">
 69         <!-- "记住密码"多选框,黑体字,左缩进5个像素,选中状态 -->
 70         <CheckBox             
 71             android:id="@+id/rememberPassword" 
 72             android:layout_width="wrap_content" 
 73             android:layout_height="wrap_content"
 74             android:text="记住密码" 
 75             android:textColor="#000000"
 76             android:checked="true"
 77             android:layout_marginLeft="5dip"/>
 78         <!-- "自动登录"多选框,黑体字,右缩进5个像素,与"记住密码"按钮的顶部和右边对齐 -->
 79         <CheckBox 
 80             android:id="@+id/autoLogin" 
 81             android:layout_width="wrap_content" 
 82             android:layout_height="wrap_content" 
 83             android:text="自动登录" 
 84             android:textColor="#000000"          
 85             android:layout_marginRight="5dip"
 86             android:layout_alignParentTop="true" 
 87             android:layout_alignParentRight="true"/>
 88     </RelativeLayout>
 89     <!-- "登录"按钮,重心垂直居中,距顶部和底部3个像素,左右扩充80个像素 -->
 90     <Button 
 91         android:id="@+id/login_bt"
 92         android:text="登  录 "
 93         android:paddingTop="3dip"
 94         android:paddingBottom="3dip"
 95         android:paddingLeft="80dip"
 96         android:paddingRight="80dip"       
 97         android:layout_width="wrap_content"    
 98         android:layout_height="wrap_content"        
 99         android:layout_gravity="center_horizontal"/>  
100     <!-- 绝对布局,"隐身登录"按钮和"开机振动"按钮以下部分,距顶部3个像素 -->
101     <RelativeLayout
102         android:id="@+id/relativeLayout1"
103         android:layout_width="fill_parent"
104         android:layout_height="fill_parent" 
105         android:layout_marginTop="3dip" >
106         <!-- "隐身登录"按钮,左缩进5个像素,黑字体,选中状态 -->
107         <CheckBox             
108             android:id="@+id/hidingLogin" 
109             android:layout_width="wrap_content" 
110             android:layout_height="wrap_content"
111             android:layout_marginLeft="5dip"
112             android:text="隐身登录" 
113             android:textColor="#000000"
114             android:checked="true"/>
115          <!-- "开机振动"按钮,右缩进5个像素,黑字体,选中状态 ,与"隐身登录"按钮的顶部和右边对齐-->
116         <CheckBox 
117             android:id="@+id/startVibrate" 
118             android:layout_width="wrap_content" 
119             android:text="开机振动" 
120             android:layout_marginRight="5dip"
121             android:textColor="#000000"
122             android:layout_height="wrap_content" 
123             android:layout_alignParentTop="true" 
124             android:layout_alignParentRight="true"/> 
125         <!-- "接收群消息"按钮,左缩进5个像素,黑字体,选中状态 ,在"隐身登录"按钮的下面-->
126         <CheckBox 
127             android:id="@+id/receiveGroupMessage" 
128             android:layout_width="wrap_content" 
129             android:text="接收群消息" 
130             android:layout_marginLeft="5dip"
131             android:textColor="#000000"
132             android:layout_height="wrap_content" 
133             android:layout_below="@id/hidingLogin"
134             android:checked="true"/>
135         <!-- "静音登录"按钮,右缩进5个像素,黑体字,选中状态,在"开机振动"按钮的下面,靠右 -->
136         <CheckBox 
137             android:id="@+id/silenceLogin" 
138             android:textColor="#000000" 
139             android:layout_width="wrap_content" 
140             android:text="静音登录" 
141             android:layout_marginRight="5dip"
142             android:layout_height="wrap_content" 
143             android:layout_below="@+id/startVibrate" 
144             android:layout_alignParentRight="true"
145             android:checked="true"/>
146         <!-- "菜单"按钮,距离底部2个像素,上下扩充3个像素,左右扩充20个像素,与"接收群消息"按钮左对齐,底部对齐 -->
147         <Button 
148             android:id="@+id/menu" 
149             android:layout_width="wrap_content" 
150             android:layout_height="wrap_content" 
151             android:text="菜  单" 
152             android:paddingTop="3dip"
153             android:paddingBottom="3dip"
154             android:paddingLeft="10dip"
155             android:paddingRight="10dip"  
156             android:layout_marginBottom="2dip"
157             android:layout_alignParentBottom="true" 
158             android:layout_alignLeft="@+id/receiveGroupMessage"/>     
159     </RelativeLayout>
160 </LinearLayout>

源码下载地址:QQUiDemo.rar 

 

转载于:https://www.cnblogs.com/yangyu20121220/archive/2012/08/19/2646736.html

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

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

相关文章

新造车公司背后的「资本大佬」

来源&#xff1a;电动汽车观察家&#xff08;ID&#xff1a;evobserver&#xff09;为了代表行业全貌&#xff0c;我们既分析光鲜靓丽的头部企业&#xff0c;也涉及比较不知名、甚至陷入舆论漩涡的一些企业&#xff0c;共十家代表企业资金的来源分析。1、蔚来汽车过往融资成绩&…

MEMS传感器科普文

来源&#xff1a;MEMS技术MEMS 的全称是微型电子机械系统&#xff0c;利用传统的半导体工艺和材料&#xff0c;集微传感器、微执行器、微机械机构、信号处理和控制电路、高性能电子集成器件、接口、通信和电源等于一体的微型器件或系统。具有小体积、低成本、集成化等特点。MEM…

NFS服务器原理、搭建、配置

目录 NFS服务简介 什么是NFS&#xff1f; NFS挂载原理&#xff1a; RPC与NFS通讯原理&#xff1a; NFS客户端和NFS服务器通讯过程&#xff1a; Linux下NFS服务器部署 NFS服务所需软件及主要配置文件&#xff1a; 服务端安装NFS服务步骤&#xff1a; NFS客户端挂载配置…

2021年03月-程序员薪资分布,看看你拖后腿了吗?

程序员工资是不确定的&#xff0c;要根据程序员的历、能力、工作经验、是否刚毕业、工种&#xff0c;工资是不一样的&#xff0c;还与地域和公司有关&#xff0c;但是总的来说&#xff0c;程序员工资都是很高的&#xff0c;是很多人都羡慕的职位。 那么程序员的薪资到底多高呢…

Science:领导决策的计算和神经生物学基础

来源&#xff1a;思影科技摘要&#xff1a;最近&#xff0c;来自苏黎世大学的Micah G. Edelson等人在SCIENCE上发文&#xff0c;他们将基于知觉和价值决策的模型结合起来&#xff0c;以评估被试对每一个决策行为的个人效用&#xff0c;从而梳理出选择领导或服从的潜在动机。最近…

tar命令集合(详解)

tar 命令可以将许多文件一起保存至一个单独的磁带或磁盘归档&#xff0c;并能从归档中单独还原所需文件。 示例 以test文件为例 压缩命令 tar -cvf test.tar test test1解压命令 tar -xvf test.tar主操作模式: -A, --catenate, --concatenate 追加 tar 文件至归档 -c, --…

美国韩国科学家纷纷开发出电子机器人“皮肤”,据称具有比人类更好的触觉...

来源&#xff1a;机器人创新生态摘要&#xff1a;我们已经听说过柔性电子“皮肤”可以让机器人或假肢具有类似人类的触觉。然而&#xff0c;现在德克萨斯大学阿灵顿分校的科学家们声称他们开发的“皮肤”比具有比人类更好的触觉敏感。由Zeynep ?elik-Butler教授领导的团队创建…

MySQL流浪记(三)—— Linux安装MySQL数据库5.7.30(亲测有效3分钟即可)

下载 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压 tar -xf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gztar命令集合&#xff08;详解&#xff09; 将安装包进行移动并重命名&#xff08;需要在root权限下进行&#xff09;。 m…

ANSI/UTF-8/UCS2(UTF-16),以及回车换行

最近遇到一个linux 平台上invisible character (0x1d)引起的数据装载失败问题&#xff0c;正好借此机会整理一下字符编码的相关知识。 回车/换行&#xff1a; 顾名思义&#xff0c;回车和换行是两个不同的控制字符: -回车(Carriage Return)即\r&#xff0c;ascii码13(0x0d)&am…

自动驾驶的大脑——芯片简介

来源&#xff1a;智车科技汽车电子发展初期以分布式ECU架构为主流&#xff0c;芯片与传感器一一对应&#xff0c;后来&#xff0c;中心化架构DCU、MDC逐步成为了发展趋势&#xff1b;随着汽车辅助驾驶功能渗透率越来越高&#xff0c;传统CPU算力不足过去&#xff0c;在自动驾驶…

MySQL流浪记(四)—— DDL和DML区别与介绍

DDL与DML的区别 DDL&#xff1a;数据定义语言&#xff0c;对于数据库、表、图、索引等进行操作。 具体操作有&#xff1a;CREATE&#xff08;创建&#xff09;、ALTER&#xff08;修改&#xff09;、DROP/TRUNCATE&#xff08;删除&#xff09; DML&#xff1a;数据操纵语言&am…

数据仓库面试题集锦(附答案和数仓知识体系)

【数据仓库系列文章 - 传送门】 一篇文章搞懂数据仓库&#xff1a;三种事实表&#xff08;设计原则&#xff0c;设计方法&#xff09;一篇文章搞懂数据仓库&#xff1a;三种事实表&#xff08;设计原则&#xff0c;设计方法、对比&#xff09;_不吃西红柿-CSDN博客_事实表三种…

pidgin-qq可以使用QQ2012协议了

前几个月前还用过pidgin-qq登录过QQ&#xff0c;当时用的还是2010协议。可不久就发现2010协议已经变得不可用了&#xff0c;之后也尝试过各种webqq协议的方案&#xff0c;什么gtkqq,pidgin-lwqq,可能是webqq协议功能不完善吧&#xff0c;用起来总觉得跟我想要的qq功能相差太远。…

2018全球科技中心报告

来源&#xff1a;CB Insights、数据局摘要&#xff1a;CB Insights 近日发布的《全球科技中心报告》&#xff08; Global Tech Hubs report&#xff09;在全球范围一共遴选了25座城市作为「全球科技中心」&#xff0c;其中&#xff0c;中国仅有北京和上海入选&#xff0c;而热门…

还在为520礼物发愁吗?教你用python撩女朋友

用python撩女朋友&#xff0c;你要的温暖都在生活的细节中。学会制造惊喜&#xff0c;一起牵手走向更加美好的生活。 其实&#xff0c;大多数人的爱情都是有事没事的瞎扯&#xff0c;可对于我们该怎样瞎扯来表达自己的心意却又都摸不着头脑。 所以&#xff0c;情侣之间要学会一…

键盘上的反引号怎么打

今天在学习数据库的时候突然要用到反引号&#xff0c;反引号&#xff1f;第一次听说反引号这个符号 几经周折&#xff0c;找到这个反引号&#xff0c;分享给大家。 在英文状态下&#xff0c;数字1的左边&#xff0c;Esc的下面&#xff0c;也就是中文的省略号。

(转)用 Asterisk 搭建自己的免费 VoIP 服务器

原文链接&#xff1a;http://www.yaoblog.info/?p5021 1. 这里以 Debian 为例子&#xff0c;安装 Asterisk apt-get update apt-get install asterisk 2. 预设置 Asterisk&#xff0c;修改 sip.conf 和 extensions.conf 文件&#xff0c;是为了创建两个可供测试的 SIP 账号 na…

解密美国五角大楼人工智能中心

选自 I thebulletin 编译 I 网易智能 参与 I Rosie2016年10月&#xff0c;新成立的国防创新委员会首次提出了一系列建议&#xff08;该委员会是美国国防部高级领导的顾问机构&#xff0c;成员包括来自私营部门、学术界和非营利组织的代表&#xff09;。其中一项建议是&#xff…

一篇文章搞定一个大数据组件:kudu知识点全集

目录 1、kudu的定位 2、kudu基本概念 3、存储架构 3.1 储存架构&#xff1a;Tablet 3.2 储存架构&#xff1a;RowSets 3.3 储存架构&#xff1a;DiskRowSets 4、kudu工作原理 4.1 Compaction 4.2 Tablet切分规则 4.3 kudu写过程&#xff1a;insert 4.4 kudu写过程&a…

区分Activity的四种加载模式-activity

转载&#xff1a;http://marshal.easymorse.com/archives/2950 在多Activity开发中&#xff0c;有可能是自己应用之间的Activity跳转&#xff0c;或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例&#xff0c;而不是产生大量重复的Activity。 这需要为…