如何在TextView中居中对齐文本并避免在内容更改时调整大小?

时间:2014-07-09 08:41:56

标签: android android-layout

我正在为Android开发一个计时器应用程序,而我遇到了显示分钟,秒和毫秒的TextView元素的问题。我希望将文本居中,同时避免调整视图的大小。调整大小每秒都会发生,所以由于场地的快速调整,你几乎看不到这些数字。这是因为char" 1"不和#34; 0"例如。我读到了android:gravity="center",但是当我有android:layout_width="260dp"(固定大小)时,字符串仍在调整大小。如果我没有android:gravity="center"且尺寸固定,则内容会向左对齐。换句话说:

<TextView
    android:layout_width="260dp"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:background="@drawable/border"
    android:id="@+id/textView"
    android:textSize="70dp"
    android:textIsSelectable="true"
    android:layout_marginTop="54dp"
    android:text="00:00:00"
    android:gravity="center"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"/>

*固定宽度与重力 - 在中心对齐但移动文字

<TextView
    android:layout_width="260dp"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:background="@drawable/border"
    android:id="@+id/textView"
    android:textSize="70dp"
    android:textIsSelectable="true"
    android:layout_marginTop="54dp"
    android:text="00:00:00"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"/>

*没有重力的固定尺寸 - 固定文字但左对齐。 再次感谢。

4 个答案:

答案 0 :(得分:0)

以3 TextView(固定宽度)分割并放入线性/相对布局。

答案 1 :(得分:0)

Try This Code:-

<TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
       android:text="00:00:00"
        android:textAppearance="?android:attr/textAppearanceMedium" />

答案 2 :(得分:0)

尝试以编程方式设置等宽字体,以确保字符的宽度不会改变:

textView.setTypeface(Typeface.MONOSPACE);

答案 3 :(得分:0)

使用任何等宽字体外部字体。它们每个字符的宽度都是恒定的,因此字符串不会调整大小。