代码之家  ›  专栏  ›  技术社区  ›  Paresh Mayani jeet

在Android中重力和布局重力有什么区别?

  •  1228
  • Paresh Mayani jeet  · 技术社区  · 14 年前

    我知道我们可以将以下值设置为 android:gravity android:layout_gravity 性能:

    1. center
    2. center_vertical
    3. center_horizontal 等。

    但我对这两件事都感到困惑。

    使用 安卓:重力 安卓:布局重力 ?

    20 回复  |  直到 5 年前
        1
  •  1265
  •   danronmoon user7712621    5 年前

    他们的名字应该有助于你:

    • android:gravity 设置 View 它已经被使用了。
    • android:layout_gravity 设置的重力 视图 Layout 相对于其父级。

    一个例子是 here .

        2
  •  468
  •   Community Dai    7 年前

    inside-outside

    • gravity arrankes the content inside the view.
    • lay out 重力 arrankes the view's position outside of itself.

    有时候看照片也很有帮助。绿色和蓝色分别是 textview 和其他两种背景色是 linearlayouts

    注释

    • 对于 relativelayout中的视图, 布局重力不起作用。将其用于 linearlayout framelayout 中的视图。有关更多详细信息,请参阅我的 Supplementary answer
    • 视图的宽度(或高度)必须大于其内容。否则, gravity won't have any effect.因此, wrap_content and gravity are intermeless together.
    • 视图的宽度(或高度)必须小于父级。否则, layout_gravity won't have any effect.因此, match_parent and layout_gravity are intermeless together.
    • layout-gravity=center 看起来与 layout-gravity=center-horizontal here相同,因为它们处于垂直线性布局中。在这种情况下,您不能垂直居中,因此 layout_gravity=center only centers horizontal.
    • 此答案只涉及布局内视图上的设置 gravity layout-gravity 要查看在设置父布局本身的 重力时会发生什么,请查看我在上面提到的 补充答案。(总结: gravity 在a relativelayout 上不起作用,但对a linearlayout 很有用)。

    因此请记住, layout 重力在其 layout中排列视图。重力排列视图中的内容。

    XML

    这是上面图像的XML,供您参考:

    <?xml version=“1.0”encoding=“utf-8”?gt;
    <linearlayout xmlns:android=“http://schemas.android.com/apk/res/android”
    android:layout_width=“匹配父级”
    android:layout_height=“匹配父级”
    android:orientation=“垂直”>
    
    <线性布局
    android:layout_width=“匹配父级”
    android:layout_height=“0dp”
    android:layout_weight=“1”
    android:background=“e3e2ad”
    android:orientation=“垂直”>
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“包装内容”
    android:layout_gravity=“center_horizontal”
    安卓:textsize=“24sp”
    android:text=“gravity=”/>
    
    文本视图
    android:layout_width=“200dp”
    android:layout_height=“40dp”
    android:background=“bcf5b1”
    android:gravity=“左”
    安卓:text=“left”/>
    
    文本视图
    android:layout_width=“200dp”
    android:layout_height=“40dp”
    android:background=“aacaff”
    android:gravity=“中心水平”
    android:text=“center_horizontal”/>
    
    文本视图
    android:layout_width=“200dp”
    android:layout_height=“40dp”
    android:background=“bcf5b1”
    android:gravity=“右”
    安卓:text=“right”/>
    
    文本视图
    android:layout_width=“200dp”
    android:layout_height=“40dp”
    android:background=“aacaff”
    android:gravity=“中心”
    安卓:text=“center”/>
    
    </linearlayout>
    
    <线性布局
    android:layout_width=“匹配父级”
    android:layout_height=“0dp”
    android:layout_weight=“1”
    android:background=“d6c6cd”
    android:orientation=“垂直”>
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“包装内容”
    android:layout_gravity=“center_horizontal”
    安卓:textsize=“24sp”
    android:text=“layout_gravity=”/>
    
    文本视图
    android:layout_width=“200dp”
    android:layout_height=“40dp”
    android:layout_gravity=“左”
    android:background=“bcf5b1”
    安卓:text=“left”/>
    
    文本视图
    android:layout_width=“200dp”
    android:layout_height=“40dp”
    android:layout_gravity=“center_horizontal”
    android:background=“aacaff”
    android:text=“center_horizontal”/>
    
    文本视图
    android:layout_width=“200dp”
    android:layout_height=“40dp”
    android:layout_gravity=“右”
    android:background=“bcf5b1”
    安卓:text=“right”/>
    
    文本视图
    android:layout_width=“200dp”
    android:layout_height=“40dp”
    android:layout_gravity=“中心”
    android:background=“aacaff”
    安卓:text=“center”/>
    
    </linearlayout>
    
    </linearlayout>
    < /代码> 
    
    

    相关

    • gravity安排内容里面风景。
    • layout_gravity排列视图的位置外部本身。

    有时候看照片也很有帮助。绿色和蓝色是TextViews另外两种背景色是LinearLayouts.

    enter image description here

    笔记

    • 这个layout_gravity不适用于中的视图RelativeLayout. 将其用于LinearLayoutFrameLayout. 看到我supplemental answer了解更多详细信息。
    • 视图的宽度(或高度)必须大于其内容。否则重力不会有任何影响。因此,wrap_content重力在一起毫无意义。
    • 视图的宽度(或高度)必须小于父级。否则重力场不会有任何影响。因此,match_parent重力场在一起毫无意义。
    • 这个layout_gravity=center看起来和layout_gravity=center_horizontal因为它们是垂直的线性布局。在这种情况下不能垂直居中,所以布局\重力=中心仅水平居中。
    • 这个答案只涉及设置重力重力场在布局中的视图上。看看当你设置重力父布局本身的,请签出补充答案我上面提到的。(摘要:重力在一个相对布局但可以使用线性布局)

    所以记住,布局_重力在其布局. 重力排列视图中的内容。

    XML

    下面是上面图像的XML,供您参考:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="#e3e2ad"
            android:orientation="vertical" >
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:textSize="24sp"
                android:text="gravity=" />
    
            <TextView
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:background="#bcf5b1"
                android:gravity="left"
                android:text="left" />
    
            <TextView
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:background="#aacaff"
                android:gravity="center_horizontal"
                android:text="center_horizontal" />
    
            <TextView
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:background="#bcf5b1"
                android:gravity="right"
                android:text="right" />
    
            <TextView
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:background="#aacaff"
                android:gravity="center"
                android:text="center" />
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="#d6c6cd"
            android:orientation="vertical" >
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:textSize="24sp"
                android:text="layout_gravity=" />
    
            <TextView
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:layout_gravity="left"
                android:background="#bcf5b1"
                android:text="left" />
    
            <TextView
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:layout_gravity="center_horizontal"
                android:background="#aacaff"
                android:text="center_horizontal" />
    
            <TextView
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:layout_gravity="right"
                android:background="#bcf5b1"
                android:text="right" />
    
            <TextView
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:layout_gravity="center"
                android:background="#aacaff"
                android:text="center" />
    
        </LinearLayout>
    
    </LinearLayout>
    

    相关的

        3
  •  452
  •   Cœur N0mi    6 年前

    差异

    android:layout_gravity 外部 视野的重力。指定视图与父级边框的接触方向。

    android:gravity 里面 那个观点的严重性。指定内容的对齐方向。

    HTML/CSS等价物

    Android                 | CSS
    ————————————————————————+————————————
    android:layout_gravity  | float
    android:gravity         | text-align
    

    帮助你记住的简单技巧

    采取 layout-gravity 作为“地心引力”。

        4
  •  37
  •   Mike Mackintosh    12 年前

    简短回答:使用 android:gravity setGravity() 控制容器所有子视图的重力;使用 android:layout_gravity setLayoutParams() 控制容器中单个视图的重力。

    长篇故事:控制线性布局容器中的重力,如 LinearLayout RadioGroup ,有两种方法:

    1)控制所有子视图的重力 线性布局 容器(正如你在书中所做的),使用 安卓:重力 (不是) 安卓:布局重力 )在布局XML文件中或 StGrimeType() 代码中的方法。

    2)要控制子视图在其容器中的重力,请使用 安卓:布局重力 XML属性。在代码中,需要 LinearLayout.LayoutParams 并设置其重力。下面是一个将按钮设置为水平方向容器底部的代码示例:

    import android.widget.LinearLayout.LayoutParams;
    import android.view.Gravity;
    ...
    
    Button button = (Button) findViewById(R.id.MyButtonId);
    // need to cast to LinearLayout.LayoutParams to access the gravity field
    LayoutParams params = (LayoutParams)button.getLayoutParams(); 
    params.gravity = Gravity.BOTTOM;
    button.setLayoutParams(params);
    

    对于水平 线性布局 容器,其子视图的水平重力将逐个左对齐,并且不能更改。设置 安卓:布局重力 center_horizontal 没有效果。默认的垂直重力是中心(或中心垂直),可以更改为顶部或底部。实际上是违约 layout_gravity 价值是 -1 但安卓将其垂直放置在中心位置。

    要更改水平线性容器中子视图的水平位置,可以使用 layout_weight 子视图的边距和填充。

    同样,对于“垂直视图”组容器,其子视图的垂直重力是上下对齐的,不能更改。默认的水平重力为中心(或 居中\水平 )可以更改为左或右。

    实际上,子视图(如按钮)也具有 安卓:重力 XML属性和 StGrimeType() 方法来控制其子视图——其中的文本。这个 Button.setGravity(int) 与此链接 developer.android.com entry .

        5
  •  33
  •   matt-oakes Borut Tomazin    14 年前

    据我所知 重力场 是该视图在其父视图中的重力,以及 重力 是孩子们在那个视野里的重力。

    我认为这是对的,但最好的办法是四处游玩。

        6
  •  24
  •   Akshay Paliwal    9 年前

    看这张图片,要清楚地心引力。

    看这张图片,要清楚地心引力。

        7
  •  12
  •   user244298    14 年前

    尽管这个问题已经得到了解答,但我有一些示例演示了重力、布局重力和布局重量的使用。

    您可以在 http://juanpickselov.com/LayoutExamples.zip

    我在Eclipse中创建了这些文件,删除了.svn子文件夹,并包含了样式、字符串、颜色等。布局文件是演示的重点。由于我是Java和Android开发新手,人们可能会发现Java效率低下。这些文件可以被复制到Eclipse项目中,或者我在NetBeans中也使用了这些文件,并为该IDE提供了Android开发插件。

        8
  •  10
  •   Artychoke Abhishek Tamta    11 年前

    如果我们想在视图中设置内容的重力,那么我们将使用“android:gravity”,如果我们想在父视图中设置此视图(作为一个整体)的重力,那么我们将使用“android:layout_gravity”。

        9
  •  7
  •   mszaro    9 年前

    我只是想在这里添加我自己的解释——从iOS的背景来看,这就是我如何用iOS术语内化这两个术语:“布局重力”影响你在超级视图中的位置。重力会影响你的子视图在你体内的位置。另一种方式是,布局重力定位你自己,而重力定位你的孩子。

        10
  •  6
  •   sushildlh    8 年前

    重力存在很多差异。 and layout gravity 。我将解释我对这两个概念的经验( 由于我的观察和一些网站而获得的所有信息。 )。

    < Buff行情>

    framelayout>code>中使用重力和布局重力。

    < /块引用>

    注:-

    1. 重力在 视图内容中使用,因为有些用户有答案,所有 视图组布局都是相同的。

    2. layout gravity is used with the parent view as some user have answer.

    3. gravity and layout gravity is work more utility with the framelayout childs. 我们不能使用重力和布局重力 in framelayout's tag…..

    4. 我们可以在 框架布局中的任意位置使用 布局重力设置子视图。

    5. 我们可以在框架布局中使用每个重力值(例如:- center_vertical->code>, center_horizontal->code>, center->code>, top->code>等),但其他视图组布局不可能使用重力值。

    6. framelayout fully working on layout gravity 。示例:-如果您使用的是 framelayout,则您不需要更改整个布局 以添加新视图。您只需在 framelayout 中添加最后一个视图,然后给他 layout gravity with value.( this is adavantages of layout gravity with framelayout )。

    < Buff行情>

    看看例子……

    < /块引用>
    <?xml version=“1.0”encoding=“utf-8”?gt;
    <framelayout xmlns:android=“http://schemas.android.com/apk/res/android”
    android:layout_width=“匹配父级”
    android:layout_height=“match_parent”>
    
    文本视图
    android:layout_width=“匹配父级”
    android:layout_height=“100dp”
    android:textsize=“25dp”
    android:background=“000”
    android:textcolor=“264bd1”
    android:gravity=“中心”
    android:layout_gravity=“中心”
    android:text=“center layout gravity”/>
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“80dp”
    android:textsize=“25dp”
    android:background=“000”
    android:textcolor=“1B64B9”
    android:gravity=“底部”
    android:layout_gravity=“底部中心”
    android:text=“底部布局重力”/>
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“80dp”
    android:textsize=“25dp”
    android:background=“000”
    android:textcolor=“d75d1c”
    android:gravity=“顶部”
    android:layout_gravity=“顶部中心”
    android:text=“顶部布局重力”/>
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“80dp”
    android:textsize=“25dp”
    android:background=“000”
    android:layout_margintop=“100dp”
    android:textcolor=“D71F1C”
    android:gravity=“右上方”
    android:layout_gravity=“top right”
    android:text=“右上布局重力”/>
    
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“80dp”
    android:textsize=“25dp”
    android:background=“000”
    android:layout_MarginBottom=“100dp”
    android:textcolor=“D71CB2”
    android:layout_gravity=“底部”
    android:gravity=“底部”
    android:text=“左上布局重力”/>
    
    </framelayout>
    < /代码> 
    
    

    产量:-

    < Buff行情>

    在线性布局中使用重力和布局重力…..

    < /块引用>

    gravity与上面的工作方式相同,但这里的不同之处在于,我们可以在linearlayout viewrelativelayout viewwhich is not possible inframelayout view

    < Buff行情>

    带垂直方向的线性布局…..

    < /块引用>

    注:在这里,我们只能设置3个值,分别为layout_gravitythat is(leftrightcenter(also calledcenter_horizontal)。

    < Buff行情>

    查看示例:-

    < /块引用>
    <?xml version=“1.0”encoding=“utf-8”?gt;
    <linearlayout xmlns:android=“http://schemas.android.com/apk/res/android”
    android:layout_width=“匹配父级”
    android:orientation=“垂直”
    android:layout_height=“match_parent”>
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“100dp”
    android:textsize=“25dp”
    android:background=“000”
    android:textcolor=“264bd1”
    android:gravity=“中心”
    android:layout_gravity=“center_horizontal”
    android:text=“中心布局重力\或\n中心水平”/>gt;
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“80dp”
    android:textsize=“25dp”
    android:background=“000”
    android:layout_margintop=“20dp”
    android:textcolor=“d75d1c”
    android:layout_gravity=“右”
    android:text=“right layout gravity”/>
    
    
    文本视图
    android:layout_width=“包装内容”
    android:layout_height=“80dp”
    android:textsize=“25dp”
    android:background=“000”
    android:layout_MarginBottom=“100dp”
    android:textcolor=“D71CB2”
    android:layout_gravity=“左”
    android:layout_margintop=“20dp”
    android:gravity=“底部”
    android:text=“左布局重力”/>
    
    </linearlayout>
    < /代码> 
    
    

    产量:-

    < Buff行情>

    水平方向的线性布局…..

    < /块引用>

    注:在这里,我们还可以设置3个值,分别为layout_gravitythat is(topbottomcenter(also calledcenter_vertical)。

    < Buff行情>

    查看示例:-

    < /块引用>
    <?xml version=“1.0”encoding=“utf-8”?gt;
    <linearlayout xmlns:android=“http://schemas.android.com/apk/res/android”
    android:layout_width=“匹配父级”
    android:orientation=“水平”
    android:layout_height=“match_parent”>
    
    文本视图
    android:layout_width=“120dp”
    android:layout_height=“100dp”
    android:textsize=“25dp”
    android:background=“000”
    android:textcolor=“264bd1”
    android:gravity=“中心”
    android:layout_gravity=“底部”
    安卓:text=“bottom\nlayout\ngravity”/>
    
    文本视图
    android:layout_width=“120dp”
    android:layout_height=“100dp”
    android:textsize=“25dp”
    android:background=“000”
    android:layout_margintop=“20dp”
    android:textcolor=“d75d1c”
    android:layout_gravity=“中心”
    android:text=“center\nlayout\ngravity”/>
    
    
    文本视图
    android:layout_width=“150dp”
    android:layout_height=“100dp”
    android:textsize=“25dp”
    android:background=“000”
    android:layout_MarginBottom=“100dp”
    android:textcolor=“D71CB2”
    android:layout_gravity=“左”
    android:layout_margintop=“20dp”
    安卓:text=“left\nlayout\ngravity”/>
    
    </linearlayout>
    < /代码> 
    
    

    输出:-

    注:我们不能在relativelayout视图中使用layout-gravity但是我们可以使用gravityto setrelativelayoutchilds to same position…..

    关于这两个概念(由于我的观察和一些网站而得到的所有信息)

    重力的使用和布局FrameLayout

    注:

    1. 重力用于查看内容因为有些用户有答案,所有人的答案都一样ViewGroup Layout.

    2. Layout-gravity与父视图一起使用,因为某些用户有答案。

    3. Gravity and Layout-gravity工作更有用框架布局孩子们。We can't use Gravity and Layout-gravity在framelayout的标记中…

    4. 我们可以在框架布局使用布局重力.

    5. 我们可以在框架布局中使用每个重力值(例如:center_vertical,center_horizontal,center,top等),但不能与其他视图组布局一起使用。

    6. 框架布局全面工作布局重力. 示例:-如果您在框架布局那么你不需要更改整个布局用于添加新视图。你只是添加视图最后一次框架布局给他布局重力有价值。这是布局重力与框架布局的优势。)

    看看例子……

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:textSize="25dp"
            android:background="#000"
            android:textColor="#264bd1"
            android:gravity="center"
            android:layout_gravity="center"
            android:text="Center Layout Gravity"/>
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="80dp"
            android:textSize="25dp"
            android:background="#000"
            android:textColor="#1b64b9"
            android:gravity="bottom"
            android:layout_gravity="bottom|center"
            android:text="Bottom Layout Gravity" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="80dp"
            android:textSize="25dp"
            android:background="#000"
            android:textColor="#d75d1c"
            android:gravity="top"
            android:layout_gravity="top|center"
            android:text="Top Layout Gravity"/>
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="80dp"
            android:textSize="25dp"
            android:background="#000"
            android:layout_marginTop="100dp"
            android:textColor="#d71f1c"
            android:gravity="top|right"
            android:layout_gravity="top|right"
            android:text="Top Right Layout Gravity"/>
    
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="80dp"
            android:textSize="25dp"
            android:background="#000"
            android:layout_marginBottom="100dp"
            android:textColor="#d71cb2"
            android:layout_gravity="bottom"
            android:gravity="bottom"
            android:text="Top Left Layout Gravity"/>
    
    </FrameLayout>
    

    输出:

    g1

    在线性布局中使用重力和布局重力…..

    Gravity工作原理和上面一样,但这里不同的是,我们可以在LinearLayout ViewRelativeLayout View这是不可能的FrameLayout View.

    垂直方向的线性布局…

    注意:这里我们只能设置layout_gravity那就是(leftγrightγ中心(也称为居中\水平)

    看看例子:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="match_parent">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:textSize="25dp"
            android:background="#000"
            android:textColor="#264bd1"
            android:gravity="center"
            android:layout_gravity="center_horizontal"
            android:text="Center Layout Gravity \nor \nCenter_Horizontal"/>
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="80dp"
            android:textSize="25dp"
            android:background="#000"
            android:layout_marginTop="20dp"
            android:textColor="#d75d1c"
            android:layout_gravity="right"
            android:text="Right Layout Gravity"/>
    
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="80dp"
            android:textSize="25dp"
            android:background="#000"
            android:layout_marginBottom="100dp"
            android:textColor="#d71cb2"
            android:layout_gravity="left"
            android:layout_marginTop="20dp"
            android:gravity="bottom"
            android:text="Left Layout Gravity"/>
    
    </LinearLayout>
    

    输出:

    g2

    水平方向的线性布局…

    注:这里我们还可以设置重力场那就是(顶部γbottomγ中心(也称为中心垂直)

    看看例子:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="match_parent">
    
        <TextView
            android:layout_width="120dp"
            android:layout_height="100dp"
            android:textSize="25dp"
            android:background="#000"
            android:textColor="#264bd1"
            android:gravity="center"
            android:layout_gravity="bottom"
            android:text="Bottom \nLayout \nGravity"/>
    
        <TextView
            android:layout_width="120dp"
            android:layout_height="100dp"
            android:textSize="25dp"
            android:background="#000"
            android:layout_marginTop="20dp"
            android:textColor="#d75d1c"
            android:layout_gravity="center"
            android:text="Center \nLayout \nGravity"/>
    
    
        <TextView
            android:layout_width="150dp"
            android:layout_height="100dp"
            android:textSize="25dp"
            android:background="#000"
            android:layout_marginBottom="100dp"
            android:textColor="#d71cb2"
            android:layout_gravity="left"
            android:layout_marginTop="20dp"
            android:text="Left \nLayout \nGravity"/>
    
    </LinearLayout>
    

    输出:

    g3

    注意:我们不能使用重力场RelativeLayout Views但是我们可以使用重力设置RelativeLayout孩子们在同一个位置…

        11
  •  4
  •   Catalina    9 年前

    我在Sandip的博客上看到了一些我几乎错过的东西,解决了我的问题。他说 layout_gravity 不适用于 LinearLayout .

    如果你用的是 线性布局 重力设置让你抓狂(像我一样),然后换个别的。

    实际上我换了个 RelativeLayout 然后使用 layout_alignParentLeft layout_alignParentRight 在包含的2上 TextView 让他们在同一条线上向左和向右走远。

        12
  •  4
  •   Mahendra Liya    6 年前

    记住这一点的一个简单技巧是重力适用于地球内部的我们。所以, android:gravity 是为了 里面 风景。

    记住 外面的 在里面 放置 外面的 γ重力 这有助于你记住 android:layout_gravity 将指 外部 视图

        13
  •  2
  •   IntelliJ Amiya    9 年前

    android:gravity 用于指定如何将对象的内容放置在对象本身中。换句话说,android:gravity用于指定视图内容的重力。

    android:layout_gravity 是子级可以提供给其父级的属性,用于指定父级中视图的重力。

    有关更多详细信息,请访问

    http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html

        14
  •  2
  •   Abhishek T.    8 年前

    两者的基本区别在于-

    安卓:重力 用于视图的子元素。

    安卓:布局重力 用于与父视图相关的此元素。

        15
  •  2
  •   Ali Raza    6 年前

    Gravity: 允许在容器中移动内容。(如何放置子视图)。

    重要: (在可用空间内沿X轴或Y轴移动)。

    例子: 假设您要使用linearlayout(height:match_parent,width:match_parent)作为根级别元素,那么您将有完整的框架空间可用;子视图表示linearlayout中的2个文本视图(height:wrap_content,width:wrap_content)可以使用paren上的重力对应值沿x/y轴移动。T

    重力: 允许您仅沿X轴覆盖父重力行为。

    重要: (在可用空间内沿X轴移动[覆盖])。

    例子: 如果您记住前面的例子,我们知道重力使我们能够沿着x/y轴移动,也就是说,将文本视图放置在线性布局中。让我们假设LinearLayout指定重力:Center;这意味着每个文本视图都需要垂直和水平居中。现在,如果我们希望一个textview向左/向右,我们可以使用textview上的布局重力覆盖指定的重力行为。

    奖金: 如果深入挖掘,您将发现textView中的文本充当子视图;因此,如果在textView上应用重力,textView中的文本将四处移动。(整个概念也适用于此)

        16
  •  1
  •   Praveen Gaur    7 年前

    重力用于在视图中设置文本对齐,但布局重力用于自行设置视图。让我们举个例子,如果你想对齐用edittext编写的文本,然后使用重力,你想对齐这个edittext或任何按钮或任何视图,然后使用布局重力,所以非常简单。

        17
  •  1
  •   Chintak Patel    6 年前

    重力 :用于简单视图,如textview、edittext等。

    重力场 :仅用于当前视图相对于父视图的重力,如线性布局或框架布局,以使视图位于父视图的中心或任何其他重力。

        18
  •  0
  •   Tulsi    7 年前
    android:gravity
    

    用于调整视图相对于其指定位置(已分配区域)的内容。 android:gravity="left" 如果 layout_width 等于 "wrap_content"

    android:layout_gravity 
    

    用于相对于父文件或布局文件查看自身。

        19
  •  0
  •   Vamsi    7 年前

    android:gravity ->设置所用视图内容的重力。

    android:layout_gravity ->设置父视图或布局的重力

        20
  •  0
  •   nidhi    6 年前

    重力——适用于它自己的观点。

    布局重力---适用于与其父级相关的视图。