如何在Android的窄文本视图中垂直居中文本?

时间:2013-03-21 09:23:17

标签: android textview

我的TextView height为30px,textsize为40px。由于文本高于View,我只想显示文本的中间部分。就像这样:enter image description here

但是对于android:gravity="center_vertical",我只能显示文本的上半部分,其中一些底部被截断。enter image description here

这是我的代码:

 <TextView
         android:layout_width="wrap_content"
         android:layout_height="30px"
         android:textSize="40px"
         android:text="ABCDEFG" 
         android:gravity="center_vertical"
         />

任何人都知道有什么办法吗?谢谢!

2 个答案:

答案 0 :(得分:2)

难道不能简单地将它包装在设置为适当大小的LinearView中,并将textview中的边距调整为大约一半(取决于填充)字体大小?

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:background="@android:color/white">

    <TextView
        android:gravity="center"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="@android:color/black"
        android:text="Sliced in half"
        android:textSize="60dp"
        android:layout_marginTop="-30dp"/>

</LinearLayout>

导致:

http://i.stack.imgur.com/jEdxx.png

答案 1 :(得分:1)

我非常怀疑你是否能做到这一点。我在处理TextView时遇到的所有选项都适用于Text小于View的情况。这是我遇到的第一个问题,否则有其他要求。 我之前使用的一个选项是android:scrollHorizontally="true",其中指定文本是否允许比视图宽。

有趣的问题。如果你能添加一些代码会很棒。