如何在TextView中水平和垂直居中文本,以便它正好出现在Android中的TextView的中间?


当前回答

必须这样设置“重力”:

(textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

其他回答

如果XML文件中只有一个TextView,则可以将父视图重心作为中心。这将使您的子元素位于屏幕的中心,然后您可以将您的子视图作为高度和宽度的环绕。

您也可以使用以下组合:

android:gravity="left|center"

然后,如果文本视图宽度大于“fill_paint”,则文本仍将向左对齐(不居中,因为重力仅设置为“center”)。

还可以使用以下方法动态设置:

textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

在我看来,

android:gravity="center"

优于,

android:layout_centerInParent="true"

这比,

android:layout_centerHorizontal="true"
android:layout_centerVertical="true"

至少用于格式化文本。

如果您正在使用RelativeLayout,请尝试在TextView标记中使用此属性:

android:layout_centerInParent= true