TextView 文本居中对齐
TextView text alignment to center
我想将 TextView
内的文本居中对齐。我使用了 android:gravity="center"
但它在单词之间留下了额外的间距。
<LinearLayout
android:id="@+id/textContainer"
android:orientation="vertical"
android:layout_weight="4"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:textSize="24sp"
android:textStyle="bold"
android:textColor="@color/colorTextDarkGrey"
android:gravity="center"
android:text="INTRO TITLE"/>
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="normal"
android:textColor="@color/colorTextLightGrey"
android:gravity="center"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua."/>
</LinearLayout>
预期结果:
您看到单词之间有空格的原因是您在文本中使用了额外的行,它在 incididunt ut
和 labore et
之间引入了空格。
只需替换这个(两行):
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua."
有了这个(一行):
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
希望对您有所帮助!
如果必须修复 TextView 的文本,则只需消除任何新的换行符,否则如果您想以编程方式执行此操作,您只需确保不会传递带换行符的字符串即可:
TextView text = findViewById(R.id.text);
String sampleString = "Line 1\nLine 2";
text.setText(sampleString.replace("\n", " "));
我想将 TextView
内的文本居中对齐。我使用了 android:gravity="center"
但它在单词之间留下了额外的间距。
<LinearLayout
android:id="@+id/textContainer"
android:orientation="vertical"
android:layout_weight="4"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:textSize="24sp"
android:textStyle="bold"
android:textColor="@color/colorTextDarkGrey"
android:gravity="center"
android:text="INTRO TITLE"/>
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="normal"
android:textColor="@color/colorTextLightGrey"
android:gravity="center"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua."/>
</LinearLayout>
预期结果:
您看到单词之间有空格的原因是您在文本中使用了额外的行,它在 incididunt ut
和 labore et
之间引入了空格。
只需替换这个(两行):
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua."
有了这个(一行):
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
希望对您有所帮助!
如果必须修复 TextView 的文本,则只需消除任何新的换行符,否则如果您想以编程方式执行此操作,您只需确保不会传递带换行符的字符串即可:
TextView text = findViewById(R.id.text);
String sampleString = "Line 1\nLine 2";
text.setText(sampleString.replace("\n", " "));