网站:
JavaEye
作者:
iwinyeah
链接:
http://iwinyeah.javaeye.com/blog/168955
发表时间: 2008年03月07日
声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!
以下代码由bm.core.tools.DeviceInfo.java抽出,详见该文件
private void testFontListBug()
{
if( isNokia() )
{
// 就算是Nokia的设备也要进行一下测试来确定是否有这个Bug
final Font font = Font.getFont(
Font.FACE_PROPORTIONAL,
Font.STYLE_PLAIN,
Font.SIZE_SMALL
);
final List list = new List( "", List.IMPLICIT );
for( int i = 0; i < 3; i++ )
{
list.append( "", null );
}
for( int i = 0; i < 3; i++ )
{
list.setFont( i, font );
}
list.deleteAll();
try
{
for( int i = 0; i < 4; i++ )
{
list.append( "", null );
}
listFontBug = false;
}
catch( Throwable e )
{
listFontBug = true;
}
}
else
{
// 除Nokia设备外,其它设备都假定它有这个Bug
// 不知道实际上是不是这样呢?我估计大部分的手机都有这个问题
// 不然他不会这么做
listFontBug = true;
}
}
那么这个Bug是什么呢?
我在bm.mvc.ListBrowserView中找到如下代码:
if( !DeviceInfo.getDeviceInfo().hasListFontBug() )
{
final int itemCount = list.size();
for( int i = 0; i < itemCount; i++ )
{
list.setFont( i, Util.SMALL_FONT );
}
}
也就是说,有这个Bug的设备不能将List的项的字体更改为SMALL_FONT
本文的讨论也很精彩,浏览讨论>>
JavaEye推荐
文章来源:
http://iwinyeah.javaeye.com/blog/168955