不能垂直居中textview的文本

f4b*_*zen 6 android center textview

[解决]我不得不添加android:fillViewport="true"到ScrollView,修复了文本没有垂直居中的问题.

我知道之前已经多次回答,但我仍然无法垂直居中查看textview的文本.

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/relativelayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/icon"
            android:layout_width="@dimen/icon_width"
            android:layout_height="@dimen/icon_height"
            android:src="@drawable/picture" />

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/icon"
            android:gravity="center_vertical"
            android:layout_alignBottom="@+id/icon"
            android:layout_alignTop="@+id/icon"
            android:text="@string/title_text"
            android:textSize="@dimen/textsize"
            android:textStyle="bold"
            android:textColor="@color/color"
            android:shadowColor="@color/shadow"
            android:shadowRadius="5"/>

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

通常这应该适用

android:gravity="center_vertical"
Run Code Online (Sandbox Code Playgroud)

但它对textview没有影响......

奇怪的是,我有第二个应用程序具有完全相同的代码,它在那里工作没有任何问题.

/编辑

澄清我的问题:这就是我现在所拥有的:
http://i.imgur.com/WwHCegq.png

这就是我要的:
http://i.imgur.com/9T8CyT6.png

lom*_*mza 7

为了达到你想要的效果,它就足以删除了

android:gravity="center_vertical"
android:layout_alignBottom="@+id/icon"
android:layout_alignTop="@+id/icon"
Run Code Online (Sandbox Code Playgroud)

并添加

android:layout_centerVertical="true"

代替.


Ale*_*lko 6

要将文本在 TextView 的边界内垂直居中精确,您可以使用:

android:gravity="center_vertical"
Run Code Online (Sandbox Code Playgroud)

如果您仍然有一个小的未对齐情况,即文本看起来没有完全垂直居中,这可能是由于您的字体填充所致。尝试:

android:includeFontPadding="false"
Run Code Online (Sandbox Code Playgroud)

字体填充有时会使文本稍微偏离中心,因此这会有所帮助。


wSa*_*kly 0

用这段代码替换你的 TextView ,它会正常工作

        <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/icon"
        android:layout_alignParentTop="true"
        android:layout_alignTop="@+id/icon"
        android:layout_toRightOf="@+id/icon"
        android:shadowColor="@color/shadow"
        android:shadowRadius="5"
        android:text="@string/title_text"
        android:textColor="@color/color"
        android:textSize="@dimen/textsize"
        android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud)