[b]关键字:[/b][i]ADT 中文乱码 Layout Editor 控件 Widget[/i]
现象:Layout Editor中不能显示中文控件信息,如下图
[img]http://dl.iteye.com/upload/attachment/244653/6b549733-92e8-3870-aed9-85fcccb2b2b3.jpg[/img]
原因:因为SDK在绘制控件时加载的是自身的字体(在目录:ANDROID_SDK/platforms/android-1.5/data/fonts中),而本身android 1.5中默认加载的字库不支;
解决办法:修改sdk中字体相关的配置
(修改ANDROID_SDK/platforms/android-1.5/data/fonts/fonts.xml文件)
旧的fonts.xml的内容:
<fonts>
<font ttf="DroidSans">
[color=red]<name>sans-serif</name>[/color]
<name>arial</name>
<name>helvetica</name>
<name>tahoma</name>
<name>verdana</name>
</font>
<font ttf="DroidSerif">
<name>serif</name>
<name>times</name>
<name>times new roman</name>
<name>palatino</name>
<name>georgia</name>
<name>baskerville</name>
<name>goudy</name>
<name>fantasy</name>
<name>cursive</name>
<name>ITC Stone Serif</name>
</font>
<font ttf="DroidSansMono">
<name>monospace</name>
<name>courier</name>
<name>courier new</name>
<name>monaco</name>
</font>
[color=red]<fallback ttf="DroidSansFallback" />
<fallback ttf="DroidSansJapanese" />[/color]
</fonts>
修改后的fonts.xml的内容:
<fonts>
<font ttf="DroidSans">
[color=red]<!--
<name>sans-serif</name>
-->[/color]
<name>arial</name>
<name>helvetica</name>
<name>tahoma</name>
<name>verdana</name>
</font>
<font ttf="DroidSerif">
<name>serif</name>
<name>times</name>
<name>times new roman</name>
<name>palatino</name>
<name>georgia</name>
<name>baskerville</name>
<name>goudy</name>
<name>fantasy</name>
<name>cursive</name>
<name>ITC Stone Serif</name>
</font>
<font ttf="DroidSansMono">
<name>monospace</name>
<name>courier</name>
<name>courier new</name>
<name>monaco</name>
</font>
[color=red]<font ttf="DroidSansFallback" >
<name>sans-serif</name>
</font>
<font ttf="DroidSansJapanese" />[/color]
</fonts>
修改后就重新启动eclipse就可以正常显示中文,如下图所示:
[img]http://dl.iteye.com/upload/attachment/244655/e83f8af0-1d2c-3acf-b514-7bfe7a6717fa.jpg[/img]
[color=red]注:如果改完fonts.xml文件后,eclipse不能正常启动(启动时workspace还没有初始化完成就自动退出),请不要着急,请查一下当前环境下JDK的版本,如果要想正确加载中文字库,要求jdk版本至少为‘1.5.0_16’,安装一个高版本的JDK就可以啦。[/color]
现象:Layout Editor中不能显示中文控件信息,如下图
[img]http://dl.iteye.com/upload/attachment/244653/6b549733-92e8-3870-aed9-85fcccb2b2b3.jpg[/img]
原因:因为SDK在绘制控件时加载的是自身的字体(在目录:ANDROID_SDK/platforms/android-1.5/data/fonts中),而本身android 1.5中默认加载的字库不支;
解决办法:修改sdk中字体相关的配置
(修改ANDROID_SDK/platforms/android-1.5/data/fonts/fonts.xml文件)
旧的fonts.xml的内容:
<fonts>
<font ttf="DroidSans">
[color=red]<name>sans-serif</name>[/color]
<name>arial</name>
<name>helvetica</name>
<name>tahoma</name>
<name>verdana</name>
</font>
<font ttf="DroidSerif">
<name>serif</name>
<name>times</name>
<name>times new roman</name>
<name>palatino</name>
<name>georgia</name>
<name>baskerville</name>
<name>goudy</name>
<name>fantasy</name>
<name>cursive</name>
<name>ITC Stone Serif</name>
</font>
<font ttf="DroidSansMono">
<name>monospace</name>
<name>courier</name>
<name>courier new</name>
<name>monaco</name>
</font>
[color=red]<fallback ttf="DroidSansFallback" />
<fallback ttf="DroidSansJapanese" />[/color]
</fonts>
修改后的fonts.xml的内容:
<fonts>
<font ttf="DroidSans">
[color=red]<!--
<name>sans-serif</name>
-->[/color]
<name>arial</name>
<name>helvetica</name>
<name>tahoma</name>
<name>verdana</name>
</font>
<font ttf="DroidSerif">
<name>serif</name>
<name>times</name>
<name>times new roman</name>
<name>palatino</name>
<name>georgia</name>
<name>baskerville</name>
<name>goudy</name>
<name>fantasy</name>
<name>cursive</name>
<name>ITC Stone Serif</name>
</font>
<font ttf="DroidSansMono">
<name>monospace</name>
<name>courier</name>
<name>courier new</name>
<name>monaco</name>
</font>
[color=red]<font ttf="DroidSansFallback" >
<name>sans-serif</name>
</font>
<font ttf="DroidSansJapanese" />[/color]
</fonts>
修改后就重新启动eclipse就可以正常显示中文,如下图所示:
[img]http://dl.iteye.com/upload/attachment/244655/e83f8af0-1d2c-3acf-b514-7bfe7a6717fa.jpg[/img]
[color=red]注:如果改完fonts.xml文件后,eclipse不能正常启动(启动时workspace还没有初始化完成就自动退出),请不要着急,请查一下当前环境下JDK的版本,如果要想正确加载中文字库,要求jdk版本至少为‘1.5.0_16’,安装一个高版本的JDK就可以啦。[/color]