今天又发现了一个平时没有注意的地方,那就是margin和padding 的区别。
其实,两个的作用相当,都是为控件设定位置来的,但是,作用的点却不同。
就拿Layout_marginTop和PaddingTop为例。Layout_marginTop是从当前设定的控件的头部,开始向上移动,直到碰到上一个控件/父容器的顶部,所经过的距离。为什么这边要用或呢,因为在不同的Layout的效果是不一样的。在LinearLayout中,已经为内容控件规定了是按顺序排列的,所以Layout_marginTop的距离是指离上一个控件的底部的距离(垂直线性布局),但是在RelativeLayout 中,控件可以选择性堆叠在一起,所以,在RelativeLayout中的控件之间没有位置上的关系的话,那当前控件的Layout_marginTop 就是指到父容器顶部的距离。
PaddingTop是指从父容器的顶部触发, 向下移动,碰到的第一个控件的顶部的距离。这个还是很好理解的。
当父容器设置了paddingTop,子元素又设置了Layout_marginTop了的话,那两者的距离就是两个值的相加了。
Layout_marginTop那一段可能说的有点绕,发点代码上来,大家试试就能理解了。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/bottom"
android:paddingTop="50dp"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button2"
android:layout_marginTop="20dp"/>
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/top"
android:layout_marginTop="20dp"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button2"
android:layout_marginTop="20dp"/>
</LinearLayout>
</LinearLayout>
分享到:
相关推荐
在Android平台上开发一款日记本应用是一项常见的任务,尤其对于初学者和有经验的开发者来说都是一个有趣的实践项目。本文将围绕“安卓日记本”的主题,深入探讨如何使用Android Studio进行应用开发,以及在这个过程...
在Android平台上,开发一款移动日记本应用是一种常见的实践,它为用户提供了一种便捷的方式来记录他们的日常生活,情感体验,以及重要事件。这款名为"Diary"的应用不仅包含了传统的文本日记功能,还创新性地集成了...
《Android日记本(上线版)》是一款专为Android平台设计的日记应用,旨在提供便捷、个性化的记录方式,让用户能够随时随地记录生活中的点滴。这款应用的第二版已经正式上线,并在指定网址...
在Android平台上,开发一个个人日记本应用涉及到...综上所述,实现一个Android日记本应用涵盖了数据库操作、UI设计、数据持久化、用户交互等多个方面,涉及的知识点丰富多样,对开发者来说是一个很好的实战练习项目。
在Android平台上开发一款日记应用,涉及的技术点广泛且深入,涵盖了...以上是开发“Android日记”应用涉及的主要技术点,实际开发中还需要结合测试、性能优化、用户体验改进等多方面工作,以打造一个高质量的日记应用。
在Android平台上,开发一款日记本应用是一个常见的实践项目,它能帮助用户记录日常生活中的点滴,同时为初学者提供了一个理解Android应用开发的良好起点。这款"android 日记本"源代码正是这样一个实例,它包含了基本...
《基于Android的个人日记本程序:SQLite数据库应用详解》 在移动应用开发领域,Android操作系统以其开源、灵活性和广泛的应用范围占据了重要的地位。本项目“基于Android的个人日记本程序”是一个典型的应用实例,...
【Android应用源码之日记本.zip】是一个包含Android应用程序源代码的压缩文件,重点在于学习和研究Android开发。这个源码实例很可能是一个简单的日记应用程序,它可以帮助开发者理解如何在Android平台上构建用户友好...
【Android日记本小程序】是一个专为Android平台设计的轻量级应用示例,它展示了如何在Android环境中开发一个简单的日记应用程序。这个项目包含了完整的源代码和详细的说明文档,旨在帮助初学者,特别是对软件开发有...
【Android日记本源码】是一个深入探讨Android应用开发的实例,尤其关注布局设计与数据存储这两方面的技术。在这个项目中,开发者将学习如何构建一个功能齐全的日记应用程序,包括创建用户友好的界面、记录和保存用户...
【基于Android的日记本】是一款专为Android系统设计的简易日记应用,它利用SQLite数据库技术,为用户提供方便快捷的日记记录、编辑与管理服务。在这款应用中,SQLite作为一个轻量级的数据库引擎,能够在没有独立...
【Android日记本】是一款专为Android用户设计的个人日记应用,它具备了基本的日记管理功能,如添加、删除、修改和查询等。这款应用强调安全性,采用密码登录机制,确保用户的私密信息得到妥善保护。同时,其界面设计...
在移动设备上,日记类应用一直是用户常用的功能之一,而“Android日记本”则是一款由个人开发者基于Android平台自行设计并实现的日记应用。这款应用不仅具备了日记的基本功能,如记录文字、日期、时间等,还创新性地...
这篇"Android日记"深入探讨了Android开发中的日志使用、调试技巧以及如何优化日志输出,旨在帮助初/中级开发者提升技能。让我们一起翻开这本Android Study Diary,探索其中蕴含的宝贵知识。 首先,理解Android的...
【Android日记本软件(源码)】是一款专为Android平台设计的个人日记应用,由自学开发者编写的。这个项目提供了一整套实现日记记录、查看和管理功能的源代码,对于学习Android应用开发的初学者或者希望深入理解...
本实例“Android日记本”是针对初学者和有一定基础的开发者设计的,它基于Android 5.0(Lollipop)系统,能够正常运行,提供了一个完整的应用开发流程的示例。 首先,让我们深入了解一下Android应用程序的基本结构...
android日记系统源码(数据库的基本操作)
在Android平台上开发一款优雅简洁的日记App,可以充分利用Android系统的特性以及...以上就是构建一个优雅简洁的Android日记App所需的关键技术点,通过这些技术,我们可以打造出一个功能完善、用户体验优秀的日记应用。
【个人日记本】是一款专为Android用户设计的应用,旨在帮助用户轻松记录日常生活中的点滴心情、重要事件和难忘时刻。这款应用充分利用了Android平台的功能,提供了一个便捷、私密且功能丰富的日记管理工具。 在实现...