android:gravity / android:layout_Gravity,android:padding / android:layout_margin属性区分

本文详细解释了Android开发中android:gravity与android:layout_gravity的区别,以及android:padding与android:layout_margin的区别。通过实例说明这些属性如何影响视图元素的位置及间距。
android:gravity / android:layout_Gravity区别:
android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。

android:layout_gravity 是用来设置该view相对与父view 的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。
在实践中,发现有时会同时使用android:gravity和 android:layout_Gravity:
<TextView
android:id="@+id/text_displayed"
android:gravity="center" // 设置文字在TextView的居中位置
android:visibility="invisible"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" // 设置TextView位置(FrameLayout):屏幕居中
/>
而Java代码中设置android:gravity是极其简单的,setGravity函数搞定了:
//此处相当于布局文件中的Android:gravity属性
button.setGravity(Gravity.CENTER);


android:padding / android:layout_margin区别:

padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal" android:padding="16dp"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/a" android:scaleType="centerCrop" android:alpha="0.9" /> <!-- 第一首古诗名字 --> <TextView android:id="@+id/tv_poem_name_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="《静夜思》" android:textSize="24sp" android:gravity="center" android:paddingTop="20dp"/> <!-- 第一首古诗原文 --> <TextView android:id="@+id/tv_poem_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="窗前明月光,疑是地上霜。\n举头望明月,低头思故乡。" android:textSize="18sp" android:gravity="center" android:paddingTop="20dp"/> <!-- 第一首古诗作者介绍 --> <TextView android:id="@+id/tv_author_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="李白:唐代诗人,字太白,号青莲居士,又号“谪仙人”,是唐代著名诗人,被后人誉为“诗仙”。" android:textSize="18sp" android:gravity="center" android:paddingTop="20dp" android:visibility="gone"/> <!-- 第一首古诗译文 --> <TextView android:id="@+id/tv_translation_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="明亮的月光洒在窗户纸上,好像地上泛起了一层白霜。我禁不住抬起头来,看那天窗外空中的一轮明月,不由得低头沉思,想起远方的家乡。" android:textSize="18sp" android:gravity="center" android:paddingTop="20dp" android:visibility="gone"/> <!-- 第二首古诗名字 --> <TextView android:id="@+id/tv_poem_name_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="《绝句四首·其三》" android:textSize="24sp" android:gravity="center" android:paddingTop="20dp" android:visibility="gone"/> <!-- 第二首古诗原文 --> <TextView android:id="@+id/tv_poem_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="两个黄鹂鸣翠柳,一行白鹭上青天。\n窗含西岭千秋雪,门泊东吴万里船。" android:textSize="18sp" android:gravity="center" android:paddingTop="20dp" android:visibility="gone"/> <!-- 第二首古诗作者介绍 --> <TextView android:id="@+id/tv_author_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="杜甫:唐代现实主义诗人,字子美,自号少陵野老,与李白合称“李杜”。" android:textSize="18sp" android:gravity="center" android:paddingTop="20dp" android:visibility="gone"/> <!-- 第二首古诗译文 --> <TextView android:id="@+id/tv_translation_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="两只黄鹂在翠绿的柳树间婉转地歌唱,一队整齐的白鹭直冲向蔚蓝的天空。我坐在窗前,可以望见西岭上堆积着终年不化的积雪,门前停泊着自万里外的东吴远行而来的船只。" android:textSize="18sp" android:gravity="center" android:paddingTop="20dp" android:visibility="gone"/> <!-- 按钮组 --> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="20dp"> <Button android:id="@+id/btn_poem" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="古诗原文" android:background="@android:color/holo_green_dark" android:textColor="@android:color/white" android:padding="10dp" android:layout_margin="5dp" android:elevation="4dp" android:stateListAnimator="@null"/> <Button android:id="@+id/btn_author" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="作者介绍" android:background="@android:color/holo_green_dark" android:textColor="@android:color/white" android:padding="10dp" android:layout_margin="5dp" android:elevation="4dp" android:stateListAnimator="@null"/> <Button android:id="@+id/btn_translation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="古诗译文" android:background="@android:color/holo_green_dark" android:textColor="@android:color/white" android:padding="10dp" android:layout_margin="5dp" android:elevation="4dp" android:stateListAnimator="@null"/> <Button android:id="@+id/btn_next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一首" android:background="@android:color/holo_green_dark" android:textColor="@android:color/white" android:padding="10dp" android:layout_margin="5dp" android:elevation="4dp" android:stateListAnimator="@null"/> <Button android:id="@+id/btn_exit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="退出" android:background="@android:color/holo_green_dark" android:textColor="@android:color/white" android:padding="10dp" android:layout_margin="5dp" android:elevation="4dp" android:stateListAnimator="@null"/> </LinearLayout> </LinearLayout> 加了个背景图怎么不显示古诗了
09-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值