- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我似乎无法弄清楚为什么 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>
最佳答案
具有vertical
方向的LinearLayout
将忽略任何 child 的android:layout_gravity
属性的垂直分量。同样,水平
方向的LinearLayout
将忽略 child android:layout_gravity
的水平分量。
对于 center
重力值的特殊情况,知道它与 center_horizontal|center_vertical
的行为相同,直到常量的实际整数值( 0x11 与 0x01|0x10)。因此,在垂直线性布局中使用 android:layout_gravity="center"
将等同于 android:layout_gravity="center_horizontal"
。
至于为什么,考虑一下:
<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/
我的问题 我似乎无法弄清楚为什么 android:layout_gravity="center_vertical" 在我的情况下不起作用。 请注意,我对解决使其垂直对齐的问题不感兴趣,以至于出于教学原
我想要一个 TextView 在上面,一个 VideoView 在它下面。我希望将 VideoView 作为垂直中心并在 TextView 下方。我正在使用 RelativeLayout。 我正在尝试
我有一个包含以下代码的布局文件: 背景文件如下所示: 现在出现的是: 正如您可能看到的那样,文本并没有完全对齐到 edittext View 的垂
How to set dot in vertically center of textview example (. Set .) ,我希望两个点都位于设置文本的垂直中心。我已经尝试过重心但没有取得任
我想在 linearLayout 中将图像居中。 有什么区别吗 android:gravity="center_horizontal|center_vertical" 和 android:gravit
假设我有两个要垂直居中的 View 。第一个 View 比第二个 View 大。 我注意到,如果我将这两个 View 放在 RelativeLayout 中,属性为 layout_height="wr
这个问题在这里已经有了答案: What's the difference between layout_gravity="center_vertical" and layout_centerVert
我有这样的布局 我希望所有子元素都垂直放置在父元素 RelativeLayout 中,但是 layout_centerVertical="true" 成功
我是一名优秀的程序员,十分优秀!