携帯電話のTextViewにすべてのUnicode文字を表示する方法はありますか?
'\ u0279'のような特殊文字を試しましたが、box(デフォルトの文字)のようなものが表示されます。これはl10nとi18nの設定に基づいていますか?
tv=(TextView)findViewById(R.id.textView1);
Typeface font= Typeface.createFromAsset(getAssets(), "TAU_BHON.TTF");
tv.setTypeface(font);
あなたの言語をサポートするフォントをassetsフォルダーに配置します。この場合、私はTAU_BHON.TTFを使用しました。
これは通常、fontが使用されているために発生します。デフォルトのものすべての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>
スクリーンショット: