dro*_*ter 143 android line-breaks line textview
我试图在TextView中添加换行符.
我试过建议\n但是什么也没做.这是我设置文本的方式.
TextView txtSubTitle = (TextView)findViewById(r.id.txtSubTitle);
txtSubTitle.setText(Html.fromHtml(getResources().getString(R.string.sample_string)));
Run Code Online (Sandbox Code Playgroud)
这是我的字符串: <string name="sample_string">some test line 1 \n some test line 2</string>
它应该如此显示:
some test line 1
some test line 2
Run Code Online (Sandbox Code Playgroud)
但它表明如下:some test line 1 some test line 2.
我错过了什么吗?
小智 209
\n 对我有用,像这样:
<TextView android:text="First line\nNext line"
Run Code Online (Sandbox Code Playgroud)
dro*_*ter 86
好吧想通了:
<string name="sample_string"><![CDATA[some test line 1 <br />some test line 2]]></string>
Run Code Online (Sandbox Code Playgroud)
所以在CDATA中包装是必要的,并且在html标签内部添加了break
Eri*_*OYÉ 67
Android 1.6版无法识别\ r \n.相反,使用:System.getProperty("line.separator")
String s = "Line 1"
+ System.getProperty ("line.separator")
+ "Line 2"
+ System.getProperty ("line.separator");
Run Code Online (Sandbox Code Playgroud)
dat*_*eah 58
仅当您将字符串资源值放在引号中时,换行符(\n)才有效:
<string name="sample_string">"some test line 1 \n some test line 2"</string>
Run Code Online (Sandbox Code Playgroud)
如果你没有这样的引号,它不会做换行:
<string name="sample_string">some test line 1 \n some test line 2</string>
Run Code Online (Sandbox Code Playgroud)
是的,就这么简单.
小智 30
试过以上所有,做了一些我自己的研究,得到了以下解决方案来渲染换行转义字符:
string = string.replace("\\\n", System.getProperty("line.separator"));
Run Code Online (Sandbox Code Playgroud)
使用替换方法,您需要过滤转义的换行符(例如'\\n')
只有这时换行'\n'转义字符的每个实例都会被渲染到实际的换行符中
在本例中,我使用了带有JSON格式数据的Google Apps Scripting noSQL数据库(ScriptDb).
干杯:D
Ani*_*dha 16
这对我有用
android:text="First \n Second"
Run Code Online (Sandbox Code Playgroud)
poi*_*oae 16
有两种方法可以解决这个问题.如果将字符串用作原始字符串,则需要使用换行符.如果你将它用作html,例如通过解析它Html.fromString,第二个变体更好.
\n<string name="sample> This\nis a sample</string>
Run Code Online (Sandbox Code Playgroud)
<br>或<br /><string name="sample> This<br>is a sample</string>
Run Code Online (Sandbox Code Playgroud)
小智 15
这对我有用,也许有人会发现这有用:
TextView textField = (TextView) findViewById(R.id.textview1);
textField.setText("First line of text" + System.getProperty("line.separator") + "Linija 2");
Run Code Online (Sandbox Code Playgroud)
如果您使用XML来声明TextView使用android:singleLine = "false"或在Java中使用,请使用txtSubTitle.setSingleLine(false);
我使用以下内容:
YOUR_TEXTVIEW.setText("Got some text \n another line");
Run Code Online (Sandbox Code Playgroud)
很简单:使用"\n"
String aString1 = "abcd";
String aString2 = "1234";
mSomeTextView.setText(aString1 + "\n" + aString2);
Run Code Online (Sandbox Code Playgroud)
\n对应于ASCII字符0xA,即"LF"或换行符
\ r \n对应于ASCII字符0xD,即'CR'或回车符
这可以追溯到第一台打字机,你可以选择只换行(并只键入一行),或换行+回车(也移动到行的开头)
在Android/java上,\n对应于回车符+换行符,否则只会"覆盖"同一行
小智 7
据我所知,在 android studio 的早期版本中使用单独的行“\n”代码。但新版本(4.1.2)使用“<br/”来分隔行。例如 - 旧的:
<string name="string_name">Sample text 1 \n Sample text 2 </string>
Run Code Online (Sandbox Code Playgroud)
新的一个:
<string name="string_name">Sample text 1 <br/> Sample text 2 </string>
Run Code Online (Sandbox Code Playgroud)
您也可以添加"<br/>"而不是 \n。
它是 <br/> 的 HTML 转义代码
然后你可以向 TexView 添加文本:
articleTextView.setText(Html.fromHtml(textForTextView));
Run Code Online (Sandbox Code Playgroud)
尝试仔细检查您的本地化.可能,您尝试编辑一个文件(本地化),但实际上使用另一个文件进行编程,就像在我的情况下一样.默认的系统语言是俄语,而我试图编辑英语本地化.
就我而言,工作解决方案是使用"\n"作为行分隔符:
<string name="string_one">line one.
\nline two;
\nline three.</string>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
284685 次 |
| 最近记录: |