首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

OpenBaseMovil 装置检测(1)

2012-11-08 
OpenBaseMovil 设备检测(1)以下代码由bm.core.tools.DeviceInfo.java抽出,详见该文件private void testFon

OpenBaseMovil 设备检测(1)
以下代码由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

热点排行