【发布时间】:2011-08-24 00:20:06
【问题描述】:
我想设置 TextView 属性,如右对齐、左对齐、对齐
【问题讨论】:
标签: android
我想设置 TextView 属性,如右对齐、左对齐、对齐
【问题讨论】:
标签: android
是的。
这叫做重力。
关于 XML:
android:gravity="left" 或 "right"
对齐不可用。
检查:http://developer.android.com/reference/android/view/Gravity.html
【讨论】:
使用TextView.setGravity。例如,将Gravity.RIGHT 用于右对齐文本,使用Gravity.CENTER_HORIZONTAL 将其居中。目前不支持两端对齐的文本。
如果您需要更复杂的文本布局控制(仅用于显示),请使用WebView。
【讨论】:
看下面的代码..
<TextView style="@style/TitleBarText1" android:text="@string/app_name" />
样式定义如下..这里大部分字段可能不是必需的,但很有帮助..请参阅 gravity 属性,您可以将 textview 与此属性对齐...
<style name="TitleBarText1">
<item name="android:id">@id/title_text</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:layout_weight">1</item>
<item name="android:gravity">center</item>
<item name="android:textSize">@dimen/text_size_medium</item>
<item name="android:paddingLeft">12dip</item>
<item name="android:paddingRight">12dip</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/title_text</item>
<item name="android:singleLine">true</item>
<item name="android:ellipsize">end</item>
</style>
【讨论】:
使用 RelativeLayout 作为 textView 的父布局 并使用 TextView 的 xml 属性,例如:
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
其他属性也可用于设置对齐和位置。
这个link 也可以帮到你。
【讨论】:
示例:对于左对齐,将其添加到您的 TextView
android:layout_gravity="center_vertical|left"
【讨论】:
我从您的问题中了解到,您想知道如何在 TextView 中设置文本的对齐方式。您可以将 TextView 中的文本向左、向右或居中对齐。
要从您的布局 (XML) 文件中执行此操作,请在您的布局文件中使用以下属性;
android:gravity=alignment
在哪里,
对齐可以
要从代码中执行相同的操作,请使用以下代码;
TextView textRegion = (TextView) findViewById(R.id.textRegion);
textRegion.setGravity(gravity);
在哪里,
重力=
Gravity.LEFT to align to left
Gravity.RIGHT to align to right
Gravity.CENTER to center the text
请注意,在 TextView 中对齐文本尚不可用。
从 Android 8 开始更新(奥利奥,API Level26):
现在可以进行对齐,但在右端看起来很锯齿。
见setJustificationMode
【讨论】:
不,您不能设置像重力这样的属性。但是您仍然可以通过使用 webview 而不是 text view 来为您的文本设置理由。
您可以参考this。
【讨论】:
对齐文本
<TextView
android:id="@+id/tv_intro"
style="@style/light_brown_bold_important"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_welcome"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:text="@string/intro"
android:gravity="center" />
重要的部分是
android:gravity="center"
【讨论】: