[导入]OpenBaseMovil 设备检测(1)

[导入]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推荐
  • 中科院软件、计算机工程硕士;中港软件硕士、管理类硕士博士招生
  • WebSphere 产品家族新特性系列经典推荐




文章来源: http://iwinyeah.javaeye.com/blog/168955

你可能感兴趣的:([导入]OpenBaseMovil 设备检测(1))