今天又发现了一个平时没有注意的地方,那就是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日记本,主要使用SharedPreferences对象、处理消息的Handler对象,记录当前进度的progress变量。日记文件保存在手机存储中。
Android日记本软件,自学时候自己编写的
移动日记本功能包含传统的日记本和音频日记视频日记实现私密日记和普通日记。.zip
android日记 实现日记的记录 查看 搜索等,
安卓日记本
android-sqlite个人日记本,实现基本的增、删、改、查等内容。
Android日记本第二版(已上线 地址:http://www.mumayi.com/android-366912.html)大神勿喷 哈哈 有需要的可以下载 没分请留邮箱 看到会发
本程序基于android实现,基本功能包括记录日记、删除日记、编辑日记、查看日记等功能,数据库采用sqlite,程序界面美观。
android 日记本源代码,代码很简单,可供学习,扩展,个性化,主要供新手入门.
android日记系统源码(数据库的基本操作)
android个人日记本,密码登录,可以实现增、删、改、查等功能.界面美观,易操作。
Android 日记本学习实例,书上实例源码。基于Android5.0 可以运行
本应用基于android系统的简易日记本,采用sqlite DB技术,能进行简易的增加、修改、删除、查询功能。
不能随时随地的写日记?担心别人偷看?随着当代社会的迅速发展,人们喜欢更便捷的生活,谁会整天随时带着一个日记本呢?有感而发的心情,想要给它配上颜色记录下来,单一的日记本已经满足不了人们的需求。人们更趋向...
该资源总结了Android应用开发的相关知识点,记录对《疯狂Android讲义》的学习成果,非常适合作为初/中级开发者的案例学习。
利用”旅行日记”可以记录你旅程中所有的照相和心情的足迹,也可以透过Facebook,将你的旅行日记分享给所有的朋友。
很详细的Android日记本编写源码 感兴趣的可以看一下!
安卓期末大作业-日记本(免积分下载) 压缩包内包含源代码,运行各个界面截图,一条日记可以记录2000字符以下的文本、最多8张配图和最多8个视频。每条日记都可以以评论的形式或转发引用的形式追更,评论的最大长度也...
MoodDiary是基于Java开发的Android日记APP,具有客户端和服务器两部分。前端使用Android Studio IDE 开发,后端使用Eclipse IDE开发。资源中附有客户端和服务器端所有源代码,另外还附有演示视频和设计文档,文档中...
安卓Android源码——日记本.zip