我有一个问题,这可能很愚蠢,但我就是想不通为什么这不起作用。
基本上,我的 Activity 中有一个标题。此 header 应居中。
布局-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>
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>
据我理解,layout_gravity
定义了组件本身的重力,而gravity
定义了这个组件内容的重力。我尝试了两种方法,都使用 center
和 center_horizontal。我还制作了 header TextView layout_width:wrap_content
并尝试将其与 layout_gravity
居中,但结果始终如下(如果我将应用程序放在手机上也是如此)
为什么会这样?我该如何解决?
最佳答案
有几种不同的解决方案,这是一个:
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/define" />
这是另一个:
<RelativeLayout .../>
<TextView
...
android:centerInParent="true" />
</RelativeLayout>
您可以根据您选择的任何方法调整您的样式属性。
关于Android: layout_gravity center 不居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149316/