[導入]OpenBaseMovil 設備檢測(1)
網站: 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