热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android学习笔记布局(二)

RelativeLayout(相对布局)相对布局也是android开发中常用的布局.布局同一个界面,相对于线性布局,相对布局嵌套的层数少,性能更佳.相对布局,顾名思义就是相对于其他

RelativeLayout(相对布局)

相对布局也是android开发中常用的布局.布局同一个界面,相对于线性布局,相对布局嵌套的层数少,性能更佳.

相对布局,顾名思义就是相对于其他的控件进行布局.可以通过同级控件制定位置,也可以通过父级控件指定位置.

在相对布局中具有以下属性可以对控件进行布局:

1.android:layout_below 表示当前控件位于指定id控件的下方
2.android:layout_above 表示当前控件位于指定id控件的上方
3.android:layout_toRightOf 表示当前控件位于指定id控件的右方
4.android:layout_toLeftOf 表示当前控件位于指定id控件的左方
5.android:layout_alignTop 表示当前控件与指定id控件顶部对齐
6.android:layout_alignBottom 表示当前控件与指定id控件底部对齐
7.android:layout_alignLeft 表示当前控件与指定id控件左侧对齐
8.android:layout_alignRight 表示当前控件与指定id控件右侧对齐
9.android:layout_alignBaseline 表示当前控件与指定id控件基线对齐
10.android:layout_centerHorizonta l如果指定true表示在父布局水平居中位置
11.android:layout_centerVertical 如果指定true表示在父布局竖直居中位置
12.android:layout_centerInParent 如果指定true表示在父布局竖直水平位置居中
13.android:layout_alignParentTop 如果指定为true表示位于父布局的顶部位置
14.android:layout_alignParentBottom 如果指定为true表示位于父布局的底部位置
15.android:layout_alignParentLeft 如果指定为true表示位于父布局的左侧位置
16.android:layout_alignParentRight 如果指定为true表示位于父布局的右侧位置

以下通过一个demo来总结

效果如下

1 <RelativeLayout xmlns:android&#61;"http://schemas.android.com/apk/res/android"
2 xmlns:tools&#61;"http://schemas.android.com/tools"
3 android:layout_width&#61;"match_parent"
4 android:layout_height&#61;"match_parent"
5 android:background&#61;"&#64;drawable/guide_login_bg"
6 >
7 <ImageView
8 android:id&#61;"&#64;&#43;id/iv_login"
9 android:layout_width&#61;"wrap_content"
10 android:layout_height&#61;"wrap_content"
11 android:layout_centerHorizontal&#61;"true"
12 android:background&#61;"&#64;drawable/no_login_head"
13 />
14 <TextView
15 android:id&#61;"&#64;&#43;id/tv_login"
16 android:layout_width&#61;"wrap_content"
17 android:layout_height&#61;"wrap_content"
18 android:layout_below&#61;"&#64;id/iv_login"
19 android:layout_centerHorizontal&#61;"true"
20 android:text&#61;"登陆"
21 android:textSize&#61;"20sp"
22 android:textColor&#61;"#ffffff"
23 />
24 <TextView
25 android:id&#61;"&#64;&#43;id/tv_line1"
26 android:layout_width&#61;"match_parent"
27 android:layout_height&#61;"1dp"
28 android:background&#61;"#ffffff"
29 android:layout_below&#61;"&#64;id/tv_login"
30 />
31 <RelativeLayout
32 android:id&#61;"&#64;&#43;id/rl_collect"
33 android:layout_width&#61;"wrap_content"
34 android:layout_height&#61;"wrap_content"
35 android:layout_below&#61;"&#64;id/tv_line1"
36 >
37 <ImageView
38 android:id&#61;"&#64;&#43;id/iv_collect"
39 android:layout_width&#61;"wrap_content"
40 android:layout_height&#61;"wrap_content"
41 android:layout_alignParentLeft&#61;"true"
42 android:layout_centerVertical&#61;"true"
43 android:background&#61;"&#64;drawable/icn_01"
44 />
45 <TextView
46 android:id&#61;"&#64;&#43;id/tv_collect"
47 android:layout_width&#61;"wrap_content"
48 android:layout_height&#61;"wrap_content"
49 android:layout_toRightOf&#61;"&#64;id/iv_collect"
50 android:layout_centerVertical&#61;"true"
51 android:text&#61;"我的收藏"
52 android:textSize&#61;"16sp"
53 android:textColor&#61;"#ffffff"
54 />
55 RelativeLayout>
56 <TextView
57 android:id&#61;"&#64;&#43;id/tv_line2"
58 android:layout_width&#61;"match_parent"
59 android:layout_height&#61;"1dp"
60 android:background&#61;"#ffffff"
61 android:layout_below&#61;"&#64;id/rl_collect"
62 />
63 <RelativeLayout
64 android:id&#61;"&#64;&#43;id/rl_message"
65 android:layout_width&#61;"wrap_content"
66 android:layout_height&#61;"wrap_content"
67 android:layout_below&#61;"&#64;id/tv_line2"
68 >
69 <ImageView
70 android:id&#61;"&#64;&#43;id/iv_message"
71 android:layout_width&#61;"wrap_content"
72 android:layout_height&#61;"wrap_content"
73 android:layout_alignParentLeft&#61;"true"
74 android:layout_centerVertical&#61;"true"
75 android:background&#61;"&#64;drawable/icn_02"
76 />
77 <TextView
78 android:id&#61;"&#64;&#43;id/tv_message"
79 android:layout_width&#61;"wrap_content"
80 android:layout_height&#61;"wrap_content"
81 android:layout_toRightOf&#61;"&#64;id/iv_message"
82 android:layout_centerVertical&#61;"true"
83 android:text&#61;"我的消息"
84 android:textSize&#61;"16sp"
85 android:textColor&#61;"#ffffff"
86 />
87 RelativeLayout>
88 <TextView
89 android:id&#61;"&#64;&#43;id/tv_line3"
90 android:layout_width&#61;"match_parent"
91 android:layout_height&#61;"1dp"
92 android:background&#61;"#ffffff"
93 android:layout_below&#61;"&#64;id/rl_message"
94 />
95 <RelativeLayout
96 android:id&#61;"&#64;&#43;id/rl_set"
97 android:layout_width&#61;"wrap_content"
98 android:layout_height&#61;"wrap_content"
99 android:layout_below&#61;"&#64;id/tv_line3"
100 >
101 <ImageView
102 android:id&#61;"&#64;&#43;id/iv_set"
103 android:layout_width&#61;"wrap_content"
104 android:layout_height&#61;"wrap_content"
105 android:layout_alignParentLeft&#61;"true"
106 android:layout_centerVertical&#61;"true"
107 android:background&#61;"&#64;drawable/icn_03"
108 />
109 <TextView
110 android:id&#61;"&#64;&#43;id/tv_set"
111 android:layout_width&#61;"wrap_content"
112 android:layout_height&#61;"wrap_content"
113 android:layout_toRightOf&#61;"&#64;id/iv_set"
114 android:layout_centerVertical&#61;"true"
115 android:text&#61;"我的設置"
116 android:textSize&#61;"16sp"
117 android:textColor&#61;"#ffffff"
118 />
119 RelativeLayout>
120 <TextView
121 android:id&#61;"&#64;&#43;id/tv_line4"
122 android:layout_width&#61;"match_parent"
123 android:layout_height&#61;"1dp"
124 android:background&#61;"#ffffff"
125 android:layout_below&#61;"&#64;id/rl_set"
126 />
127 <RelativeLayout
128 android:id&#61;"&#64;&#43;id/rl_view"
129 android:layout_width&#61;"wrap_content"
130 android:layout_height&#61;"wrap_content"
131 android:layout_below&#61;"&#64;id/tv_line4"
132 >
133 <ImageView
134 android:id&#61;"&#64;&#43;id/iv_view"
135 android:layout_width&#61;"wrap_content"
136 android:layout_height&#61;"wrap_content"
137 android:layout_alignParentLeft&#61;"true"
138 android:layout_centerVertical&#61;"true"
139 android:background&#61;"&#64;drawable/icn_04"
140 />
141 <TextView
142 android:id&#61;"&#64;&#43;id/tv_view"
143 android:layout_width&#61;"wrap_content"
144 android:layout_height&#61;"wrap_content"
145 android:layout_toRightOf&#61;"&#64;id/iv_view"
146 android:layout_centerVertical&#61;"true"
147 android:text&#61;"意見反饋"
148 android:textSize&#61;"16sp"
149 android:textColor&#61;"#ffffff"
150 />
151 RelativeLayout>
152 <TextView
153 android:id&#61;"&#64;&#43;id/tv_line5"
154 android:layout_width&#61;"match_parent"
155 android:layout_height&#61;"1dp"
156 android:background&#61;"#ffffff"
157 android:layout_below&#61;"&#64;id/rl_view"
158 />
159 <RelativeLayout
160 android:id&#61;"&#64;&#43;id/rl_new"
161 android:layout_width&#61;"wrap_content"
162 android:layout_height&#61;"wrap_content"
163 android:layout_below&#61;"&#64;id/tv_line5"
164 >
165 <ImageView
166 android:id&#61;"&#64;&#43;id/iv_new"
167 android:layout_width&#61;"wrap_content"
168 android:layout_height&#61;"wrap_content"
169 android:layout_alignParentLeft&#61;"true"
170 android:layout_centerVertical&#61;"true"
171 android:background&#61;"&#64;drawable/icn_05"
172 />
173 <TextView
174 android:id&#61;"&#64;&#43;id/tv_new"
175 android:layout_width&#61;"wrap_content"
176 android:layout_height&#61;"wrap_content"
177 android:layout_toRightOf&#61;"&#64;id/iv_new"
178 android:layout_centerVertical&#61;"true"
179 android:text&#61;"更新軟件"
180 android:textSize&#61;"16sp"
181 android:textColor&#61;"#ffffff"
182 />
183 RelativeLayout>
184 <TextView
185 android:id&#61;"&#64;&#43;id/tv_line6"
186 android:layout_width&#61;"match_parent"
187 android:layout_height&#61;"1dp"
188 android:background&#61;"#ffffff"
189 android:layout_below&#61;"&#64;id/rl_new"
190 />
191 <RelativeLayout
192 android:id&#61;"&#64;&#43;id/rl_us"
193 android:layout_width&#61;"wrap_content"
194 android:layout_height&#61;"wrap_content"
195 android:layout_below&#61;"&#64;id/tv_line6"
196 >
197 <ImageView
198 android:id&#61;"&#64;&#43;id/iv_us"
199 android:layout_width&#61;"wrap_content"
200 android:layout_height&#61;"wrap_content"
201 android:layout_alignParentLeft&#61;"true"
202 android:layout_centerVertical&#61;"true"
203 android:background&#61;"&#64;drawable/icn_06"
204 />
205 <TextView
206 android:id&#61;"&#64;&#43;id/tv_us"
207 android:layout_width&#61;"wrap_content"
208 android:layout_height&#61;"wrap_content"
209 android:layout_toRightOf&#61;"&#64;id/iv_us"
210 android:layout_centerVertical&#61;"true"
211 android:text&#61;"關於我們"
212 android:textSize&#61;"16sp"
213 android:textColor&#61;"#ffffff"
214 />
215 RelativeLayout>
216 RelativeLayout>

 

转:https://www.cnblogs.com/Jhope/p/5280728.html



推荐阅读
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • Android开发技巧:使用IconFont减少应用体积
    本文介绍如何在Android应用中使用IconFont来显示图标,从而有效减少应用的体积。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 在Android开发中,当TextView的高度固定且内容超出时,可以通过设置其内置的滚动条属性来实现垂直滚动功能。具体来说,可以通过配置`android:scrollbars="vertical"`来启用垂直滚动,确保用户能够查看完整的内容。此外,为了优化用户体验,建议结合`setMovementMethod(ScrollerMovementMethod.getInstance())`方法,使滚动操作更加流畅和自然。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 【问题】在Android开发中,当为EditText添加TextWatcher并实现onTextChanged方法时,会遇到一个问题:即使只对EditText进行一次修改(例如使用删除键删除一个字符),该方法也会被频繁触发。这不仅影响性能,还可能导致逻辑错误。本文将探讨这一问题的原因,并提供有效的解决方案,包括使用Handler或计时器来限制方法的调用频率,以及通过自定义TextWatcher来优化事件处理,从而提高应用的稳定性和用户体验。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
author-avatar
順俟自嘫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有