LinearLayout中gravity与 layout_gravity。

gravity与 layout_gravity。

1. gravity与layout_gravity

给出定义:
gravity:控制组件所包含的子元素的对齐方式,可多个组合。如(left | button)
layout_gravity:控制该组件在父元素里的对齐方式。

开始使用studio实验吧:
1.给布局使用gravity属性:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:text="Button" />

    <Button
        android:id="@+id/button6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="35dp"

        android:text="这是一个textview" />
</LinearLayout>

效果图:
在这里插入图片描述
正常显示。 原因说明:给布局使用gravity,则使布局中的子元素,也就是上面那三个控件居中显示。

2.给组件中添加gravity属性:

 <TextView   //布局中的gravity已经删掉
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:gravity="center"
        android:text="这是一个textview" />

效果:
在这里插入图片描述
正常显示。添加到控件中,可以使控件的子元素居中显示。

3.给布局中添加layout_gravity属性:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_gravity="center"  \\添加的
    tools:context=".MainActivity">

效果图:

没有任何变化。
4.在组件中添加layout_gravity属性:

<TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:layout_gravity="center"
        android:text="这是一个textview" />

效果图:
在这里插入图片描述
仍没有任何变化。
为什么layout_gravity没有用?

layout_gravity:控制该组件在父元素里的对齐方式。

因为布局设置的是match_parent,自动填充父容器了。 如果想要效果,将它设置为wrap_content。
另外说明: 线性布局上面设置了vertical垂直排列,那么center就只能水平居中。并且top、bottom已经不管用了。 horizontal也是。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值