您的位置:首页 > 其它

LinearLayout、RelativeLayout、FrameLayout居中显示整理

2015-08-19 14:58 519 查看
1、 LinearLayout布局实现垂直水平居中

  android:orientation=”vertical”表示该布局下的元素垂直排列;

  android:layout_gravity=”center_horizontal”表示该布局在父布局里水平居中,此时其父布局必须拥有android:orientation=”vertical”属性;

  android:layout_gravity=”center_vertical”表示该布局在父布局里垂直居中,此时其父布局必须应设置成android:orientation=”horizontal”属性(默认为该属性),且其父布局的高度应设置为android:layout_height=”fill_parent”属性;

  android:gravity=”center_horizontal”表示该布局下的元素水平居中;

  

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_vertical"
>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="right"
android:text="用户名" />

<EditText
android:layout_width="300dp"
android:layout_height="wrap_content" />
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="right"
android:text="Email" />

<EditText
android:layout_width="300dp"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>


2、 LinearLayout、RelativeLayout、FrameLayout图片水平居中显示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon"
/>
</LinearLayout>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon"
android:layout_gravity="center"
/>
</FrameLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon"
android:layout_centerInParent="true"
/>
</RelativeLayout>
</LinearLayout>


3、以button为例讲解居中

居中呢,这里分两种不同布局方式的居中!分别是 LinearLayout 和RelativeLayout。

首先说的是LinearLayout布局下的居中:直接贴源码

注意:android:layout_width=”fill_parent” android:layout_height=”fill_parent” 属性中,若水平居中,至少在宽度上占全屏;若垂直居中,则在高度上占全屏

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center|center_horizontal|center_vertical" >
// 上面gravity属性的参数:center为居中,center_horizontal为水平居中,center_vertical为垂直居中
<Button
android:id="@+id/Binding_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关联新账户" />
</LinearLayout>


然后说的是RelativeLayout布局下的居中:

<RelativeLayout xmlns:Android="http://schemas.android.com/apk/res/android"

Android:layout_width="fill_parent" Android:layout_height="fill_parent">

<Button Android:id="@+id/btngal" Android:layout_width="wrap_content"

Android:layout_height="wrap_content" Android:gravity="center_horizontal"

Android:textSize="20sp" Android:layout_alignParentBottom="true"

Android:layout_centerHorizontal="true" Android:text="返回主界面" />

</RelativeLayout>


简单说明

Android:gravity=”CENTER_VERTICAL“:这个是垂直居中对齐

Android:gravity=”BOTTOM”:放在容器的底部

Android:gravity=”CENTER“ :放在容器的中心

这里只是将前辈的整合版:23
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: