gpt4 book ai didi

android - layout_gravity ="center_vertical"不工作

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:50 26 4
gpt4 key购买 nike

我的问题

我似乎无法弄清楚为什么 android:layout_gravity="center_vertical" 在我的情况下不起作用。

请注意,我对解决使其垂直对齐的问题不感兴趣,以至于出于教学原因,我试图准确理解这种行为本身的原因。

我的代码

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.LinearLayoutCompat
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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/blue_100">

<android.support.v7.widget.AppCompatTextView
android:background="@color/red_100"

android:text="HELLO WORLD"
android:textSize="18sp"
android:textColor="@color/black"

android:gravity="center_vertical"
android:maxLines="2"

android:layout_gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

</android.support.v7.widget.LinearLayoutCompat>

enter image description here

最佳答案

具有vertical 方向的LinearLayout 将忽略任何 child 的android:layout_gravity 属性的垂直分量。同样,水平方向的LinearLayout将忽略 child android:layout_gravity水平分量

对于 center 重力值的特殊情况,知道它与 center_horizo​​ntal|center_vertical 的行为相同,直到常量的实际整数值( 0x11 与 0x01|0x10)。因此,在垂直线性布局中使用 android:layout_gravity="center" 将等同于 android:layout_gravity="center_horizo​​ntal"

至于为什么,考虑一下:

<LinearLayout orientation=vertical>

<View layout_gravity=top/>
<View layout_gravity=bottom/>

</LinearLayout>

你会在这里做什么?如果您将第一个 View 放置在屏幕顶部,将第二个 View 放置在屏幕底部,那么您并不是真正的线性布局。

即使您说您对如何解决问题不感兴趣,您也可以使用 LinearLayout 本身的 android:gravity 属性来解决这个问题。这将导致 LinearLayout 将所有 View 堆叠在线性布局的顶部、中心或底部。

关于android - layout_gravity ="center_vertical"不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48848473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com