有没有办法在我的手机上的 TextView 中显示所有 Unicode 字符?
我尝试了像 '\u0279' 这样的特殊字符,但我得到了一个方框(默认字符)。 这是基于本地化和国际化设置吗?
有没有办法在我的手机上的 TextView 中显示所有 Unicode 字符?
我尝试了像 '\u0279' 这样的特殊字符,但我得到了一个方框(默认字符)。 这是基于本地化和国际化设置吗?
tv=(TextView)findViewById(R.id.textView1);
Typeface font= Typeface.createFromAsset(getAssets(), "TAU_BHON.TTF");
tv.setTypeface(font);
将支持您语言的字体放置在assets文件夹中。 在这种情况下,我使用的是TAU_BHON.TTF。
通常这是由于所使用的字体原因, 默认字体不支持/未实现所有的Unicode字符,您需要使用完整功能的字体,例如DejaVuSans.ttf
@sakthi提供了一个样例,应该可以无问题地工作,检查一下您的Android版本是否支持它。
尝试这段代码:
String str = "\u00F6";
System.out.println("new value-" + str);
你将获得:
new value-ö
这是我创建的一个样例 Android 项目,用于检查该功能:
Java 文件:
package com.testd;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String str = "\u00F6";
TextView tv = (TextView) findViewById(R.id.a);
tv.setText("sajklasdklfjasdf " + str );
}
}
XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/a" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
</LinearLayout>
屏幕截图:
String s = new String(str);
没有任何实际作用。它只是创建了一个新的 String
,其内容与 s
相同。只有极少数情况下,只接受一个 String
参数的 String
构造函数才是有用的。但这不是其中之一。 - Joachim Sauer