我正在开发一个原生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 来修复它,但没有成功。
我应该添加什么才能将文本放置在垂直中心?
非常感谢你
文本的垂直对齐方式与具体文本无关。但“”、“AAA”、“aaa”、“yyy”都有不同的垂直“中心”,因此在特定情况下文本可能会稍微偏离中心。如果您知道文本是时间,您可以手动纠正与垂直中心的偏差,例如
android:paddingBottom="0.8sp"