如何将文本放置在文本视图的正中心?

问题描述 投票:0回答:1

我正在开发一个原生android应用程序,我遇到了一个问题,即TextView中的文本没有放置在center_vertical中。 文本已放置在 center_horizental 中。问题是垂直的...

当然,文本往往垂直居中。然而,它位于略低于正中心的位置。

这是代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:paddingBottom="16dp"
    android:layout_gravity="center"
    android:id="@+id/calendarLinear"
    android:layout_width="match_parent"
    android:layout_height="74dp">

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/black_7" />

    <TextView
        android:id="@+id/tvDate"
        tools:text="30"
        android:layout_gravity="center"
        android:textColor="@color/black_1"
        android:textSize="12sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/tvCheckIn"
        tools:text="8:30"
        android:layout_marginTop="4dp"
        android:layout_marginHorizontal="4dp"
        android:gravity="center"
        android:layout_gravity="center|center_horizontal"
        android:background="@drawable/erp_rounded_primary_bg"
        android:textColor="@color/white"
        android:textSize="12sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/tvCheckout"
        tools:text="18:30"
        android:layout_marginTop="4dp"
        android:layout_marginHorizontal="4dp"
        android:gravity="center"
        android:layout_gravity="center_vertical"
        android:layout_centerInParent="true"
        android:background="@drawable/erp_rounded_black4_bg"
        android:textColor="@color/white"
        android:textSize="12sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/tvAttendGrp"
        tools:text="출장"
        android:visibility="gone"
        android:layout_marginTop="2dp"
        android:gravity="center"
        android:textColor="@color/black_1"
        android:fontFamily="sans-serif-medium"
        android:paddingVertical="10dp"
        android:textSize="12sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

问题代码是这样的

<TextView
    android:id="@+id/tvCheckIn"
    tools:text="8:30"
    android:layout_marginTop="4dp"
    android:layout_marginHorizontal="4dp"
    android:gravity="center"
    android:layout_gravity="center|center_horizontal"
    android:background="@drawable/erp_rounded_primary_bg"
    android:textColor="@color/white"
    android:textSize="12sp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
<TextView
    android:id="@+id/tvCheckout"
    tools:text="18:30"
    android:layout_marginTop="4dp"
    android:layout_marginHorizontal="4dp"
    android:gravity="center"
    android:layout_gravity="center_vertical"
    android:layout_centerInParent="true"
    android:background="@drawable/erp_rounded_black4_bg"
    android:textColor="@color/white"
    android:textSize="12sp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

我尝试使用重力、layout_gravity 和layout_centerInParent 来修复它,但没有成功。

我应该添加什么才能将文本放置在垂直中心?

非常感谢你

android layout native center
1个回答
0
投票

文本的垂直对齐方式与具体文本无关。但“”、“AAA”、“aaa”、“yyy”都有不同的垂直“中心”,因此在特定情况下文本可能会稍微偏离中心。如果您知道文本是时间,您可以手动纠正与垂直中心的偏差,例如

android:paddingBottom="0.8sp"
© www.soinside.com 2019 - 2024. All rights reserved.