android - TextView 不会在父级中垂直居中

标签 android layout textview

我的 Activity 只有一个 TextView,我试图让文本垂直居中,但它最终与底部对齐。我尝试更改几个属性但没有成功。这是我目前拥有的(Android 2.3):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/llFlash"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0dp" >

    <TextView
        android:id="@+id/tvFlash"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ff0000"
        android:padding="0dp"
        android:textStyle="bold"
        android:includeFontPadding="false"
        android:gravity="center_vertical"
        android:layout_centerInParent="true" />

</RelativeLayout>

编辑: 我实际上是在代码中设置文本大小,它是一个很大的值。如果 textsize 增加到屏幕的宽度(在横向模式下),那么它看起来与屏幕底部对齐。但是,如果您使用正常的文本大小(如 20sp),它将显示为居中。这告诉我,当您将文本大小增加到非常大时,Android 似乎正在增加一些隐藏的内部填充(即使我确实将 includeFontPadding 设置为 false)。

最佳答案

我觉得不错,但是,

你为什么不用;

android:layout_centerVertical="true"

代替

android:gravity="center_vertical"
android:layout_centerInParent="true"

关于android - TextView 不会在父级中垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17962905/

相关文章:

android - Pro-guard 混淆在 android studio 中不起作用

android - VisibilityAwareImageButton 用法

html - IE6 破坏了缓存设计

Android:将形状屏蔽到 View 上的最简单方法是什么?

android - 市场过滤器,如何排除布局-notlong

c# - 替代 TextViewCreated,例如(TextViewChanged)?

Android: TextView 数组

屏幕未更改时,Android 的 VirtualDisplay 不会更新

android - 声学指纹识别背后的原理是什么?

java - 单击屏幕时更改 TextView 值