android - 将 TextView 调整为 LinearLayout 中的垂直居中(水平)

标签 android android-linearlayout center layout-gravity

我在 LinearLayout 中有四个带有 orientation="horizo​​ntal"TextView。在下图中,我希望我的第四个 TextView 相对于其他 View 垂直居中,简单来说,我想移动我的第四个 TextView稍微向上一点,所以看起来像在中心。我尝试添加布局:重力和边距,但它不起作用。

enter image description here

这是代码:

  <LinearLayout
        android:id="@+id/tv_amenities"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv_main_feature_LL"
        android:layout_marginStart="10dp"
        android:layout_marginBottom="10dp"
        android:orientation="horizontal"

        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/rating_background"
            android:drawableTop="@drawable/ic_food_and_restaurant"
            android:padding="3dp"
            android:text="Resturant"
            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
            android:textColor="@android:color/white" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="10dp"
            android:background="@drawable/rating_background"
            android:drawableTop="@drawable/ic_tv_black_24dp"
            android:padding="3dp"
            android:text="LCD Tv"
            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
            android:textColor="@android:color/white"

            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="10dp"
            android:background="@drawable/rating_background"
            android:drawableTop="@drawable/ic_local_parking_black_24dp"
            android:padding="3dp"
            android:text="Parking"
            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
            android:textColor="@android:color/white"

            />

        <TextView
            android:id="@+id/tv_plus_amenities"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="15dp"
            android:layout_marginBottom="20dp"
            android:background="@drawable/round_background"
            android:text="+15"

            android:textColor="@android:color/white" />


    </LinearLayout>

最佳答案

您可以通过添加 android:layout_gravity="center_vertical" 并删除边距底部来轻松做到这一点。

        <TextView
        android:id="@+id/tv_plus_amenities"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="15dp"
        android:layout_gravity="center_vertical"
        android:background="@drawable/round_background"
        android:text="+15"
        android:textColor="@android:color/white" />

关于android - 将 TextView 调整为 LinearLayout 中的垂直居中(水平),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61542143/

相关文章:

android - 设备锁定时停止播放 android 应用程序音频

android - 如何在按钮单击事件中调用异步任务

android - ListView 中自定义可检查元素的初始状态 "checked"

android - 滑动抽屉下方的按钮正在注册点击

html - 如何在 html 的导航菜单中间居中标题文本

java - 如何使用 Java 查询 Odata 提要

android - 外部 AndroidManifest.xml 未出现在项目 View Pane 下

android - 如何在 LinearLayout 中对齐单选按钮中心

android - 无法垂直居中 textview 的文本

html - 任何人都可以帮助将图标的图像垂直和水平地悬停在具有边框半径的 div 中吗