Android:layout_gravity中心不居中

Val*_* Ru 4 android android-layout layout-gravity

我有一个问题,那可能是愚蠢的,但我无法弄清楚为什么这不起作用.

基本上,我的活动中有一个标题.此标题应居中.

布局XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView 
    style="@style/TextHeader"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/define"
    />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在styles.xml中定义

<style name="TextHeader">
    <item name="android:textSize">20dp</item>
    <item name="android:paddingTop">15dp</item>
    <item name="android:layout_gravity">center</item>
    <item name="android:paddingBottom">15dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

据我所知,layout_gravity定义组件本身gravity的重力,同时定义该组件内容的重力.我尝试了两种方式,包括center和center_horizo​​ntal.我还制作了标题TextView layout_width:wrap_content并尝试将其集中在一起layout_gravity,但结果始终如下(如果我将应用程序放在手机上,同样的事情)

在此输入图像描述

为什么会这样?我该怎么解决?

Sam*_*Sam 8

有几种不同的解决方案,这是一个:

<TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:text="@string/define" />
Run Code Online (Sandbox Code Playgroud)

这是另一个:

<RelativeLayout .../>

    <TextView
        ...
        android:centerInParent="true" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

您可以将样式属性调整为您选择的任何方法.