如何在TextView中正确对齐文本?

时间:2013-02-26 12:56:18

标签: android textview alignment

我有一个Textview,我需要以适当的格式显示大量信息。我如何实现它?

我想这样显示:

Title  :       Some Title.
Date   :       Date

More Info about the title.
......
......

Contact :      Contact Details.

4 个答案:

答案 0 :(得分:1)

你必须通过计算选项之间的空间来做到这一点。

更好的方法

使用Webview制作一个html字符串,其内容使用html格式正确对齐并加载webview并显示

快乐编码

答案 1 :(得分:0)

如果使用TextView不是必需的,可以使用TableLayout:

<TableLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TableRow>
        <TextView 
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:text="Title"
            android:layout_weight="1"/>

        <TextView 
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:text="Some Title"
            android:layout_weight="2"/>
    </TableRow>

    <TableRow>
        <TextView 
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:text="Date"
            android:layout_weight="1"/>

        <TextView 
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:text="Some Date"
            android:layout_weight="2"/>
    </TableRow>

</TableLayout>

答案 2 :(得分:0)

我认为有三种选择。

  1. 如果字体没关系,请在textview中使用android:typeface =“monospace”并在空格中对齐
  2. 如果字体确实重要,请在html中设计并使用WebView
  3. 如果你不想使用html,你需要通过不同的TextView进行布局,这总是更好。

答案 3 :(得分:0)

正如其他人所建议的那样,WebView是您的选择。看到 How to programmatically set / edit content of webview

但是,如果文本不需要特殊格式(例如,不同颜色,字体大小),则可以在TextView中执行此操作,并且所需的唯一格式是缩进。

布局:

<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="false" />

活动:

    TextView tv = (TextView) findViewById(R.id.text);
    tv.setText("Title  :       Some Title.\nDate  :       Date\n\nMore Info about the title.\n......\n......\n\nContact :      Contact Details.");