4

我一直在做这个作业,但我遇到的所有建议似乎都没有奏效。我是 android 应用程序的新手,虽然对某些人来说答案可能很简单,但我就是看不出哪里出错了......

我有一个 TextView 字段,其中包含一个带有换行符 (\n) 的字符串值。在图形输出上,文本的下一行没有以 TextView 容器为中心。我的代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView5"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="15dp"
        android:text="@string/maxText"
        android:textAlignment="gravity"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textStyle="bold" />

</RelativeLayout>

我的字符串如下:

<string name="maxText">My text part 1:\nMy text part 2</string>

输出文本的下一行与容器左对齐,但我需要它在中心。我已经尝试了我在论坛等中遇到的所有建议 - 但无济于事。

任何帮助将不胜感激。

4

4 回答 4

2

实际上,我们不需要将该文本放入两个文本视图中。

在 XML 文件中设置android:layout_gravity="center"包含 textview 的布局。

如果这不起作用。

尝试为布局参数设置重心,并以编程方式将此参数设置为布局。如下所示。

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.CENTER;
yourLayout.setLayoutParams(params);
yourLayout.setGravity(Gravity.CENTER);

这对我有用。

希望这对你也有用。:)

于 2015-05-28T10:30:13.943 回答
1

解决此问题的唯一明智方法是创建两个文本视图,第二个文本视图紧邻第一个文本视图,并设置为android:layout_gravity="center"and android:gravity="center"

于 2013-05-12T09:53:45.040 回答
0

您可以在课堂上尝试此代码,我将它用于按钮并且效果很好,两条线都居中。我想它应该对 a 起作用TextView

String styledText = "My text part 1" + "<br />" + "My text part 2";         
textView.setText(Html.fromHtml(styledText));

注意:因此您必须分别声明 2 个字符串并从资源中获取它们

于 2013-05-12T13:46:36.540 回答
0

xml中最好的方法是添加属性

android:gravity="center_horizontal" 
于 2019-09-10T10:07:01.487 回答