Android:如何在TextView中给文本添加项目符号、换行?

8

我有一个TextView,里面有很长的文本,但我想加上项目符号、换行符等。我尝试在我的string.xml中添加像&#8226这样的XML实体来表示项目符号,但无法得到换行符,一些文本会出现在中间,我也想使用对齐功能。

String nodata="hi how are you<br/>&#8226welcome to stackoverflow"  
TextView nodata= ((TextView) findViewById(R.id.nodata));
nodata.setText(Html.fromHtml(nodatafound));    

它基本能够工作,但我无法使用对齐功能, 有没有办法实现这个需求?

6个回答

8

如果您想在Java中进行动态操作,可以使用\n来换行,并使用Unicode字符作为项目符号,例如\u25CF

以下是我如何使用它:

textView.setText("Welcome Username\n\u25CF Some Instructions");

看起来像是
欢迎用户名
● 一些说明

你的情况应该类似于

textView.setText("hi how are you\n\u25CF welcome to stackoverflow");

以下是一些代码

• = \u2022
● = \u25CF
○ = \u25CB
▪ = \u25AA
■ = \u25A0
□ = \u25A1
► = \u25BA

如果您想通过xml完成,请将下面的文本粘贴到strings.xml中,并在xml文件中调用此字符串

hi how are you \n
•  welcome to stackoverflow

在strings.xml文件中,它看起来像这样:
<string name="welcom_msg">hi how are you \n
•  welcome to stackoverflow</string>

7
感谢大家......最终我做成了这个。
String nodata="hi how are you<br/>&#8226;welcome to stackoverflow"
TextView nodata= ((TextView) findViewById(R.id.nodata));
nodata.setText(Html.fromHtml(nodatafound)); 

针对左对齐,我在布局文件中做了如下更改:android:layout_gravity=center|left

希望有更好的解决方法。


5

将这段代码放入strings.xml文件中

你好,你最近怎么样?\n

•  欢迎来到stackoverflow

将这段文本设置为你的textview文本


<string name="text">嗨,你好吗 \n •  欢迎来到stackoverflow \n</string> 并在您的xml文件中将文本设置为您的textview android:text="@string/text" - User
这个 " " 实体是用来做什么的?有些文本出现在中间,如何将其右对齐? - teekib

4
您忘记在&#8226;后面加上冒号了。
所以请改成这样:
String nodata="hi how are you<br/>&#8226;welcome to stackoverflow"
TextView nodata= ((TextView) findViewById(R.id.nodata));
nodata.setText(Html.fromHtml(nodatafound)); 

抱歉,实际上问题是没有这个引号 "" 的。我已经编辑过了。 - teekib

0

试一下这个:

String s = "hello world"
           + System.getProperty ("line.separator")
           + "hello android"
           + System.getProperty ("line.separator"); 

0
在string.xml文件中添加以下内容: <string name="str">&#8226;项目1\n &#8226;项目2 \n &#8226; 项目3</string>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接