爱玩的黑框眼镜 · Base64编码出现换行符 - ...· 3 天前 · |
爽快的小蝌蚪 · android base64 ...· 3 天前 · |
文质彬彬的灌汤包 · java怎么判断字符串是换行符_mob64c ...· 1 周前 · |
踏实的匕首 · Python字符切片操作方法splitlin ...· 1 周前 · |
聪明的手电筒 · Java 字符串根据换行符分割成数组 - ...· 1 周前 · |
坚强的椅子 · RapidJSON v1.1.0 发布简介 ...· 1 年前 · |
神勇威武的梨子 · python matplotlib 密度图-掘金· 1 年前 · |
严肃的枕头 · Python is 和 == 的区别· 1 年前 · |
我正在尝试在TextView中添加一个换行符。
我试过建议\n但没用。以下是我设置文本的方式。
TextView txtSubTitle = (TextView)findViewById(r.id.txtSubTitle);
txtSubTitle.setText(Html.fromHtml(getResources().getString(R.string.sample_string)));
这是我的字符串:
<string name="sample_string">some test line 1 \n some test line 2</string>
它应该如下所示:
some test line 1
some test line 2
但它是这样显示的:
some test line 1 some test line 2
。
我是不是遗漏了什么?
如果使用
android:singleLine = "false"
或在Java语言中使用XML来声明TextView,请使用
txtSubTitle.setSingleLine(false);
好的,想明白了:
<string name="sample_string"><![CDATA[some test line 1 <br />some test line 2]]></string>
因此有必要在CDATA中进行包装,并在其中添加作为html标记分隔符
此外,您还可以添加
"<br/>"
而不是\n。
它是HTML转义代码,用于
然后,您可以将文本添加到TexView:
articleTextView.setText(Html.fromHtml(textForTextView));
\n
适用于我,如下所示:
<TextView android:text="First line\nNext line"
安卓1.6版本无法识别\r\n,请使用: System.getProperty("line.separator")
String s = "Line 1"
+ System.getProperty("line.separator")
+ "Line 2"
+ System.getProperty("line.separator");
我使用以下代码:
YOUR_TEXTVIEW.setText("Got some text \n another line");
这对我很有效
android:text="First \n Second"
这对我很有效,也许有人会发现这很有帮助:
TextView textField = (TextView) findViewById(R.id.textview1);
textField.setText("First line of text" + System.getProperty("line.separator") + "Linija 2");
有两种方法可以解决这个问题。如果将字符串用作原始字符串,则需要使用换行符。如果你使用它作为超文本标记语言,比如用
Html.fromString
解析它,那么第二个变种更好。
1)换行符
\n
<string name="sample">This\nis a sample</string>
2)超文本标记语言换行符
<br>
或
<br />
<string name="sample">This<br>is a sample</string>
使用Android Studio 0.8.9。对我来说唯一有效的方法就是使用
\n
。使用CDATA、
<br>
或
<br />
包装都不起作用。
试着仔细检查你的本地化。有可能,您试图编辑一个文件(本地化),但实际上是使用另一个文件 just like in my case 进行编程。默认的系统语言是俄语,而我正在尝试编辑英语本地化。
在我的例子中,可行的解决方案是使用"\n“作为行分隔符:
<string name="string_one">line one.
\nline two;
\nline three.</string>
非常简单:使用"\n“
String aString1 = "abcd";
String aString2 = "1234";
mSomeTextView.setText(aString1 + "\n" + aString2);
\n对应于ASCII字符0xA,它是'LF‘或换行符
\r对应于ASCII字符0xD,为'CR‘或回车符
这可以追溯到最早的打字机,当时您可以选择只换行符(并且只键入较低的一行),或者换行符+回车符(它也移动到一行的开头)
在Android / java上,\n对应于回车符+换行符,否则您只需‘覆盖’同一行
你也可以使用Android Studio的字符串编辑器,它会自动生成刹车和类似的东西……
由于
Html.fromHtml
已被弃用,我只是简单地使用此代码在下一行中获取String2。
textView.setText(fromHtml("String1 <br/> String2"));
。
@SuppressWarnings("deprecation")
public static Spanned fromHtml(String html){
Spanned result;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
result = Html.fromHtml(html,Html.FROM_HTML_MODE_LEGACY);
} else {
result = Html.fromHtml(html);
return result;
}
最简单的方法是进入values/strings (在你的资源文件夹中)。
在此处声明一个字符串:
<string name="example_string">Line 1\Line2\Line n</string>
在特定的xml文件中,只需调用如下所示的字符串
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/example_string" />
\n对我不起作用。我能够通过将xml更改为text并构建textview text属性来修复此问题,如下所示。
android:text="Line 1
Line 2
Line 3
DoubleSpace"
希望这能帮助那些说过对他们不起作用的人。
坚强的椅子 · RapidJSON v1.1.0 发布简介 - 知乎 1 年前 |
神勇威武的梨子 · python matplotlib 密度图-掘金 1 年前 |
严肃的枕头 · Python is 和 == 的区别 1 年前 |