最近,有点空闲的时间就拿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