Android:布局实例之模仿QQ登录界面

预览图:

准备:

1、找到模仿对象 QQ登陆界面UI下载>>>>>

2、导入工程

3、查看布局结构和使用控件

其对应效果图分布为

4、分析样式选择器

下拉箭头2种样式:点击和默认状态

文本框2种样式:聚焦和默认状态

复选框3种样式:选择、不选择和鼠标点着不放

左下角按钮2种样式:点击和默认

登录按钮2样式:点击和默认

============================================帖代码===========================

布局:

  1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical" >
6
7 <include layout="@layout/head" />
8
9 <LinearLayout
10 android:layout_width="match_parent"
11 android:layout_height="wrap_content"
12 android:layout_weight="1.0"
13 android:background="@drawable/default_bg"
14 android:orientation="vertical" >
15
16 <RelativeLayout
17 android:layout_width="match_parent"
18 android:layout_height="wrap_content"
19 android:layout_marginLeft="15px"
20 android:layout_marginRight="15px"
21 android:layout_marginTop="63px"
22 android:background="@drawable/login_back"
23 android:paddingBottom="10px"
24 android:paddingTop="21px" >
25
26 <!-- QQ左栏logo -->
27
28 <ImageView
29 android:id="@+id/faceImg"
30 android:layout_width="wrap_content"
31 android:layout_height="wrap_content"
32 android:background="@drawable/qqfaceleft" />
33
34 <!-- 帐号文本框 -->
35
36 <EditText
37 android:id="@+id/login_edit_account"
38 android:layout_width="match_parent"
39 android:layout_height="wrap_content"
40 android:layout_alignParentTop="true"
41 android:layout_marginBottom="5px"
42 android:layout_marginLeft="5dp"
43 android:layout_marginRight="5dp"
44 android:layout_marginTop="5dp"
45 android:layout_toRightOf="@+id/faceImg"
46 android:background="@drawable/qq_edit_login"
47 android:paddingLeft="45sp"
48 android:text="输入帐号"
49 android:textColor="#ddd" />
50
51 <!-- 文本框左边帐号提示 -->
52
53 <TextView
54 android:layout_width="wrap_content"
55 android:layout_height="wrap_content"
56 android:layout_alignBottom="@+id/login_edit_account"
57 android:layout_alignLeft="@+id/login_edit_account"
58 android:layout_alignTop="@+id/login_edit_account"
59 android:layout_marginRight="15.0sp"
60 android:gravity="center_vertical"
61 android:paddingLeft="7sp"
62 android:text="帐号"
63 android:textSize="16dp" />
64
65 <!-- 下拉菜单按钮 -->
66
67 <ImageButton
68 android:layout_width="wrap_content"
69 android:layout_height="wrap_content"
70 android:layout_alignBottom="@+id/login_edit_account"
71 android:layout_alignRight="@+id/login_edit_account"
72 android:layout_alignTop="@+id/login_edit_account"
73 android:layout_marginRight="1dp"
74 android:background="@drawable/more_select" />
75
76 <!-- 密码文本框 -->
77
78 <EditText
79 android:id="@+id/login_edit_pwd"
80 android:layout_width="wrap_content"
81 android:layout_height="wrap_content"
82 android:layout_alignLeft="@+id/login_edit_account"
83 android:layout_alignRight="@+id/login_edit_account"
84 android:layout_below="@+id/login_edit_account"
85 android:background="@drawable/qq_edit_login"
86 android:paddingLeft="45sp"
87 android:text="输入帐号"
88 android:textColor="#ddd" />
89
90 <TextView
91 android:layout_width="wrap_content"
92 android:layout_height="wrap_content"
93 android:layout_alignBottom="@+id/login_edit_pwd"
94 android:layout_alignLeft="@+id/login_edit_pwd"
95 android:layout_alignTop="@+id/login_edit_pwd"
96 android:layout_marginRight="15.0sp"
97 android:gravity="center_vertical"
98 android:paddingLeft="7sp"
99 android:text="密码"
100 android:textSize="16dp" />
101
102 <!-- 记住密码选项 -->
103
104 <CheckBox
105 android:layout_width="wrap_content"
106 android:layout_height="wrap_content"
107 android:layout_alignBaseline="@+id/login_btn_login"
108 android:button="@drawable/qq_btn_check"
109 android:text="记住密码" />
110
111 <!-- 登录按钮 -->
112
113 <Button
114 android:id="@+id/login_btn_login"
115 android:layout_width="130px"
116 android:layout_height="42px"
117 android:layout_alignParentRight="true"
118 android:layout_below="@+id/login_edit_pwd"
119 android:layout_marginRight="7px"
120 android:layout_marginTop="12px"
121 android:text="登录" />
122 </RelativeLayout>
123 <!-- 复选框层 -->
124
125 <TableLayout
126 android:layout_width="match_parent"
127 android:layout_height="wrap_content"
128 android:layout_marginLeft="20px"
129 android:layout_marginRight="20px"
130 android:stretchColumns="1" >
131
132 <TableRow>
133
134 <CheckBox
135 style="@style/MyCheckBox"
136 android:layout_width="wrap_content"
137 android:layout_height="wrap_content"
138 android:text="隐身登录" />
139
140 <CheckBox
141 style="@style/MyCheckBox"
142 android:layout_width="wrap_content"
143 android:layout_height="wrap_content"
144 android:layout_gravity="right"
145 android:text="开启震动" />
146 </TableRow>
147
148 <TableRow>
149
150 <CheckBox
151 style="@style/MyCheckBox"
152 android:layout_width="wrap_content"
153 android:layout_height="wrap_content"
154 android:text="接收群消息" />
155
156 <CheckBox
157 style="@style/MyCheckBox"
158 android:layout_width="wrap_content"
159 android:layout_height="wrap_content"
160 android:layout_gravity="right"
161 android:text="静音登录" />
162 </TableRow>
163 </TableLayout>
164 </LinearLayout>
165 <!-- 底部 -->
166
167 <RelativeLayout
168 android:layout_width="match_parent"
169 android:layout_height="44dp"
170 android:background="@drawable/bottom"
171 android:gravity="center_vertical" >
172
173 <ImageButton
174 android:layout_width="wrap_content"
175 android:layout_height="wrap_content"
176 android:background="@drawable/option" />
177 </RelativeLayout>
178
179 </LinearLayout>

样式:

    <style name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:textSize">16sp</item>
<item name="android:textColor">#7fffffff</item>
<item name="android:paddingLeft">28px</item>
<item name="android:button">@drawable/qq_btn_check</item>
</style>

样式选择器:

<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/btn_check_on" />
<item android:state_window_focused="false" android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/btn_check_off" /> <item android:state_enabled="true" android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/btn_check_on_pressed" />
<item android:state_enabled="true" android:state_checked="false" android:state_pressed="true" android:drawable="@drawable/btn_check_off_pressed" /> <item android:state_focused="true" android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/btn_check_on_selected" />
<item android:state_focused="true" android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/btn_check_off_selected" /> <item android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/btn_check_off" />
<item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/btn_check_on" />
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_enabled="false" android:drawable="@drawable/login_input"></item>
<item android:state_pressed="true" android:drawable="@drawable/login_input"></item>
<item android:state_focused="true" android:drawable="@drawable/input_over"></item>
</selector>
<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/option_selected" />
<item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/option_selected" />
<item android:state_enabled="true" android:drawable="@drawable/option_normal" />
</selector>
<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/button2_down" />
<item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/button2_over" />
<item android:state_enabled="true" android:drawable="@drawable/button2" />
</selector>

下载我的练习工程

相关文章:

Android:布局实例之模仿京东登录界面

[转]Android:布局实例之模仿QQ登录界面的更多相关文章

  1. Android:布局实例之模仿QQ登录界面

    预览图: 准备: 1.找到模仿对象 QQ登陆界面UI下载>>>>> 2.导入工程 3.查看布局结构和使用控件 其对应效果图分布为 4.分析样式选择器 下拉箭头2种样式:点 ...

  2. Android:布局实例之模仿京东登录界面

    预览图及布局结构参考: 布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout ...

  3. java代码完全手写模仿qq登录界面

    这是我模仿QQ2015版界面,实现的基本功能有登陆验证,重置等,当然直接复制代码运行是不一样的,还要注意自己插入自己的图片. 结果截图如下所示: import java.awt.BorderLayou ...

  4. 界面编程模仿篇(QQ登录界面逼真篇)

    写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...

  5. Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy

    原文:Android菜鸟的成长笔记(3)--给QQ登录界面说So Easy 上一篇:Android菜鸟的成长笔记(2)--第一个Android应用 我们前面已经做了第一个Android应用程序,虽然有 ...

  6. QQ登录界面布局

    简单的qq登录界面布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmln ...

  7. WPF开发实例——仿QQ登录界面

    原文:WPF开发实例--仿QQ登录界面 版权声明:本文为博主原创文章,如需转载请标明转载地址 http://blog.csdn.net/u013981858 https://blog.csdn.net ...

  8. WPF模仿QQ登录按钮

    原文:WPF模仿QQ登录按钮 如下图,第一张是未点击时按钮样式,第二张是鼠标划过时按钮样式. 样式代码: <Style TargetType="{x:Type Button}" ...

  9. swing实现QQ登录界面1.0( 实现了同一张图片只加载一次)、(以及实现简单的布局面板添加背景图片控件的标签控件和添加一个关闭按钮控件)

    swing实现QQ登录界面1.0( 实现了同一张图片只加载一次).(以及实现简单的布局面板添加背景图片控件的标签控件和添加一个关闭按钮控件) 代码思路分析: 1.(同一张图片仅仅需要加载一次就够了,下 ...

随机推荐

  1. ueditor和thinkphp框架整合修改版

    基于tp官网上的一篇文章修改的  因为tp中所有目录其实都是性对于入口文件的 在原来的基础上略做修改后 已经做到 无论项目放在www下的任何位置 图片在编辑器中回填后都能正常显示! http://fi ...

  2. Linux内存高,触发oom-killer问题解决

    最近遇到两起Linux的内存问题,其一是触发了oom-killer导致系统挂 1. 首先确认该系统的版本是32位 ? #uname -a Linux alarm 2.6.9-67.ELsmp #1 S ...

  3. 14个最常见的Kafka面试题及答案【转】

    原创 IT168企业级 2017-08-21 17:40 本文为您盘点了14个最常见的Kafka面试题,同时也是对Apache Kafka初学者必备知识点的一个整理与介绍. 1.请说明什么是Apach ...

  4. ssh修改端口号并进行远程访问

    ssh的访问如果都利用22端口,则会容易被攻击,修改一个端口号可增强一定的安全性 1. 修改配置文件sshd_config里端口号 [root@test ~]# vi /etc/ssh/sshd_co ...

  5. jsonpath for js

    /** * @license * JSONPath 0.8.0 - XPath for JSON * * Copyright (c) 2007 Stefan Goessner (goessner.ne ...

  6. SNMP AGENT函数介绍

    http://wenku.baidu.com/view/6a7903a9d1f34693daef3e9f.html 一.  SNMP AGENT在SNMP框架中的位置 1.1 SNMP是被广泛接受并投 ...

  7. 【PAT】1004. 成绩排名 (20)

    1004. 成绩排名 (20) 读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 ...

  8. bzoj 1106

    思路:很容易就能想到统计没两对点之间的未匹配点的个数. 在想怎么用数据结构维护这个东西, 没有想到用树状数组能很巧妙地维护出来, 就写了个莫队... 莫队:暴力维护就好了. #include<b ...

  9. 超简教程:Xgboost在Window上的安装(免编译)

    Xboost在windows安装需要自己编译,编译的过程比较麻烦,而且需要复杂的软件环境.为了免去编译,我这里把编译好的文件上传到网盘供大家下载安装.有了编译好的文件,xgboost的安装变得超级简单 ...

  10. python爬虫实战(四)--------豆瓣网的模拟登录(模拟登录和验证码的处理----scrapy)

    在利用scrapy框架爬各种网站时,一定会碰到某些网站是需要登录才能获取信息. 这两天也在学习怎么去模拟登录,通过自己码的代码和借鉴别人的项目,调试成功豆瓣的模拟登录,顺便处理了怎么自动化的处理验证码 ...