有没有办法在Android的主题中添加自定义字体?
我已阅读快速提示:自定义Android字体,但在这里我们必须以编程方式将自定义字体添加到文本中.
TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface font = Typeface.createFromAsset(getAssets(), "Chantelli_Antiqua.ttf");
txt.setTypeface(font);
Run Code Online (Sandbox Code Playgroud)
但我想按样式/主题设置自定义字体.
我只在版本android 2.2上收到错误,但在2.3上没有收到错误.
错误 :
04-26 13:41:34.862: ERROR/Database(3701): sqlite3_open_v2("/data/data/com.TravelPharm/databases/medicaments.sqlite", &handle, 1, NULL) failed
04-26 13:41:34.942: DEBUG/dalvikvm(417): GC_EXPLICIT freed 82 objects / 4000 bytes in 1617ms
04-26 13:41:35.062: DEBUG/asset(3701): Data exceeds UNCOMPRESS_DATA_MAX (17304576 vs 1048576)
04-26 13:41:35.062: DEBUG/AndroidRuntime(3701): Shutting down VM
04-26 13:41:35.072: WARN/dalvikvm(3701): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
04-26 13:41:35.103: ERROR/AndroidRuntime(3701): FATAL EXCEPTION: main
04-26 13:41:35.103: ERROR/AndroidRuntime(3701): java.lang.Error: Error copying database
04-26 13:41:35.103: ERROR/AndroidRuntime(3701): at com.TravelPharm.DBHelper.createDataBase(DBHelper.java:395)
04-26 13:41:35.103: ERROR/AndroidRuntime(3701): at com.TravelPharm.TravelPharm.SumofDetails(TravelPharm.java:290)
04-26 13:41:35.103: ERROR/AndroidRuntime(3701): at com.TravelPharm.TravelPharm.onCreate(TravelPharm.java:64)
04-26 13:41:35.103: ERROR/AndroidRuntime(3701): …Run Code Online (Sandbox Code Playgroud) 我想用Arial字体显示文字.但Arial字体在Android系统字体中不可用.我不想在我的应用程序中使用arial ttf文件.有没有其他方法来应用Arial字体的文本.
我已经创建了一个消息应用程序,并且我正在学习很多成员并不居住在北美或英国.
当他们发布消息时,只返回乱码文本.存储数据的所有数据库列都是UTF-8.
有没有办法正确显示某人能够输入的UTF-8字符?请参见下面的截图.

我想在我的Android应用程序中嵌入自定义字体.我不使用的TextView所以这样的教程为这一个(如何使用与TextView的自定义字体)没有帮助.
在我的例子中,内容来自SQLite数据库,并使用WebView显示在屏幕上.我既不使用捆绑的HTML文件,所以本教程(如何使用WebView自定义字体)也无法解决我的问题.
FIY,这是我的代码:
public void initWebview()
{
WebSettings settings = wvContent.getSettings();
settings.setDefaultTextEncodingName("utf-8");
setContentView(R.layout.content);
wvContent = (WebView) findViewById(R.id.wvContent);
wvContent.setBackgroundColor(Color.argb(250, 250, 250, 250));
wvContent.getSettings().setSupportZoom(true);
wvContent.getSettings().setBuiltInZoomControls(true);
wvContent.setInitialScale(100);
wvContent.setWebViewClient(new WebViewClient()
{
public void onPageFinished(WebView view, String url)
{
if (pd != null)
{
pd.dismiss();
pd = null;
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
Log.i(CONTENT_TAG,"WebView link clicked; url = " + url);
try
{
String arrUrlPart[] = url.split("://");
if (arrUrlPart[0].equals("entry"))
{
String content = getContentByWord(arrUrlPart[1]);
showContent(content);
} …Run Code Online (Sandbox Code Playgroud)