Android的布局文件中,如果想让1个组件(布局或View)居中显示在另外一个布局(组件)中,可以由这么几种做法:

android:layout_gravity

android:gravity

android:layout_centerInParent

layout_gravity

android:layout_gravity,用来指定当前组件(布局或View)在父组件(布局)中的位置,父布局应当是LinearLayout或它的后裔。

layout_gravity取值多是:

top

bottom

left

right

center_vertical

fill_vertical

center_horizontal

fill_horizontal

center

fill

clip_vertical

clip_horizontal

start

end

与居中相干的已粗体标注出来。各种取值的具体含义,参看:https://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html。

gravity

android:gravity是View的属性,用来指定View的子组件在View中的位置。适用于所有的View和布局。它的取值有很多,具体参见:https://developer.android.com/reference/android/view/Gravity.html。

与居中相干的取值:

center

center_horizontal

center_vertical

当你设定1个布局android:gravity="center"时,它的子组件就会居中。当你设定1个Viewandroid:gravity="center"时,它的内容会居中,以TextView为例,文字会居中。

layout_centerInParent

android:layout_centerInParent是RelativeLayout的布局属性,如果1个组件(布局或View)的父布局是RelativeLayout,就能够使用这个属性来居中。其取值为 true 或 false 。

与其类似的还有:

android:layout_centerHorizontal

android:layout_centerVertical

具体含义和用法参看:https://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐