前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Study Jams_?Android:gravity ?和 Android:layout_gravity

Study Jams_?Android:gravity ?和 Android:layout_gravity

作者头像
MaybeHC
发布2024-04-23 18:03:19
390
发布2024-04-23 18:03:19
举报
文章被收录于专栏:技术之路技术之路

因为之前有JAVA基础,看L2的课程还是比较容易理解,写一些新手比较容易混淆的问题

Android:gravity

gravity是控制View里的元素在View的位置,大家看一段代码的呈现就会明白

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Google"
        android:textSize="40sp"
        android:background="#090"
        />
</RelativeLayout>
这里写图片描述
这里写图片描述

当我给代码添加Android:gravity=”center”时图形会变成这样

这里写图片描述
这里写图片描述

Android:layout_Gravity

layout_gravity控制的是View在ViewGroup中的位置

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <TextView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:text="Google"
        android:textSize="40sp"
        android:background="#090"
        />
</LinearLayout>

![这里写图片描述](https://img-blog.csdn.net/20170301230829052?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTWF5YmVfY2g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 当我添加android:layout_gravity=”center”之后

![这里写图片描述](https://img-blog.csdn.net/20170301230926991?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTWF5YmVfY2g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 这样就可以基本理解gravity和layout_gravity的用途了 但是其中有一个特殊情况值得注意:

特殊情况

当我们采用LinearLayout布局时,有以下特殊情况需要我们注意: (1)当 android:orientation=”vertical” 时, android:layout_gravity只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。 (2)当 android:orientation=”horizontal” 时, android:layout_gravity只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。 大家可以观察下下面的代码和对应的视图

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <TextView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:text="Google"
        android:textSize="40sp"
        android:background="#090"
        android:layout_gravity="center_vertical"//区别在这里
        />
</LinearLayout>

![这里写图片描述](https://img-blog.csdn.net/20170303170924324?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTWF5YmVfY2g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) **显然可以看出这样使用android:layout_gravity=”center_vertical”是无效的,下面我改成android:layout_gravity=”center_horizontal”**

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <TextView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:text="Google"
        android:textSize="40sp"
        android:background="#090"
        android:layout_gravity="center_horizontal"
        />
</LinearLayout>
这里写图片描述
这里写图片描述

当这样使用就是可以的了,要注意这个特殊情况

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Android:gravity
  • Android:layout_Gravity
  • 特殊情况
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com