下川岛好玩吗,根据生辰八字起名字,美国电影网
两者都是设置对齐方式的属性。内部的属性值相同。
根据英文意思也能理解其中的意思。如center_horizontal表示在水平方向上的位置为中间。
gravity是设置自身内部元素的对齐方式。比如一个TextView,则是设置内部文字的对齐方式。如果是ViewGroup组件如LinearLayout的话,则为设置它内部view组件的对齐方式。
layout_gravity是设置自身相当于父容器的对齐方式。比如,一个TextView设置layout_gravity属性,则表示这TextView相对于父容器的对齐方式。
具体参考如下
①TextView
【代码】
1 <TextView 2 android:text="这是一个TextView" 3 android:layout_width="200dp" 4 android:layout_height="200dp" 5 android:gravity="center" 6 android:background="#ff0" 7 />
【提示】这里方便观察,我们给TextView设置了一个backGround背景颜色。设置了固定的宽度
【注意】如果要用gravity属性,此组件的layout_width和layout_height不能设置为wrap_content。此时设置的gravity属性没有效果,因为组件包裹着内容,无论设置什么,也都不能有改变
【效果】
②LinearLayout
【代码】
1 <LinearLayout 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:gravity="center" 5 android:background="#f00" 6 > 7 <TextView 8 android:text="TextView在这里" 9 android:layout_width="200dp" 10 android:layout_height="200dp" 11 android:background="#ff0" 12 /> 13 </LinearLayout>
【提示】此时外部viewGroup类组件设置gravity为center,内部组件TextView在外部LinearLayout的中间。TextView没有设置gravity属性,则文字在开始位置
【效果】
对于layout_gravity不是什么情况下都能设置的属性(如RelativeLayout),而且在不同的viewGroup中产生的效果也会不同(如LinearLayout)。
具体实例如下
①LinearLayout
1 <LinearLayout 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:background="#f00" 5 android:orientation="horizontal"> 6 <TextView 7 android:text="TextView在这里" 8 android:layout_width="200dp" 9 android:layout_height="200dp" 10 android:background="#ff0" 11 android:layout_gravity="center" 12 /> 13 </LinearLayout>
【效果】
【提示】此时layout_gravity的center值,并没有让TextVieW在LinearLayout的中间,这和LinearLayout的orientation的定位方向有关。
当设置为horizontal时,LinearLayout中的组件时按照横着排列,当设置ayout_gravity属性为center值时,组件就在垂直方向处于中间位置。同理,当设置为vertical时,效果如下
②FrameLayout(帧布局)
【代码】
1 <FrameLayout 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:background="#f00"> 5 <TextView 6 android:text="TextView在这里" 7 android:layout_width="200dp" 8 android:layout_height="200dp" 9 android:background="#ff0" 10 android:layout_gravity="center" 11 /> 12 </FrameLayout>
【效果】
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论