網站:
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