Android TextView对齐文本
如何让TextView
的文本被对齐(文本在左侧和右侧齐平)?
我在这里找到了一个可能的解决方案,但它不起作用(即使您将垂直中心更改为center_vertical等)。
我不相信Android支持完整的理由。
UPDATE 2018-01-01 :Android 8.0+支持使用TextView
对齐模式。
@CommonsWare的答案是正确的。 Android不支持“全部理由”(或者简称“理由”,因为它有时会被模棱两可地引用)。
但是,Android不支持“冲洗左/右文本对齐”。 请参阅维基百科关于理由的文章以了解区别。 许多人认为“正当性”的概念包含了完整理由以及左/右文本对齐,当他们想要进行左/右文本对齐时,他们最终会搜索这些对齐。 这个答案解释了如何实现左/右文本对齐。
可以实现冲洗左/右文本对齐(而不是全面的理由,因为问题是关于)。 为了演示,我将使用一个基本的2列表单(左栏中的标签和右栏中的文本框)作为示例。 在此示例中,左列标签中的文本将右对齐,因此它们显示为与右列中的文本字段齐平。
在XML布局中,通过在所有TextView中添加以下属性,您可以将TextView元素本身(左列)对齐到右边:
<TextView
...
android:layout_gravity="center_vertical|right">
...
</TextView>
但是,如果文本换行为多行,那么文本仍然会在TextView内左对齐。 添加以下属性使实际文本在TextView内右对齐(左边不齐):
<TextView
...
android:gravity="right">
...
</TextView>
因此, 重力属性指定如何对齐TextView中的文本layout_gravity指定如何对齐/布局TextView元素本身。
为了证明Android中的文本,我使用了WebView
setContentView(R.layout.main);
WebView view = new WebView(this);
view.setVerticalScrollBarEnabled(false);
((LinearLayout)findViewById(R.id.inset_web_view)).addView(view);
view.loadData(getString(R.string.hello), "text/html; charset=utf-8", "utf-8");
和html。
<string name="hello">
<![CDATA[
<html>
<head></head>
<body style="text-align:justify;color:gray;background-color:black;">
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nunc pellentesque, urna
nec hendrerit pellentesque, risus massa
</body>
</html>
]]>
</string>
我还不能上传图片来证明它,但“它适用于我”。
链接地址: http://www.djcxy.com/p/56293.html上一篇: Android TextView Justify Text
下一篇: Text/Layout Alignment in Android (textAlignment, gravity)