最近在做launcher的移植,当我把android-2.2下的launcher2代码导入到eclipse中(只是
改换了包名,具体参见),从启动的knock界面开始,屏幕上就有黑条,横屏的时候左右,
竖屏的时候上下。但是系统原来的launcher是没有的,改了包名不应该出错才对的啊?
困扰了我一天,终于解决。
现象:
启动mylauncher就有黑条-->到android自带的launcher,黑条继续存在,旋转,黑条消失
-->启动mylauncher,黑条没有,旋转后黑条出现
方法如下:
在AndroidManifest.xml中,在 </application>之后添加
<supports-screens android:largeScreens="true"
android:normalScreens="true" android:smallScreens="true"
android:anyDensity="true" />
总结原因:
具体的参见http://ucdchina.com/snap/7166
“当前屏幕超过程序所支持屏幕的上限时,定义supports- screens元素,这样超出显示的基准线时,平台在此显示黑色的背景图。例如,WVGA 中精度屏幕上,如程序不支持这样的大屏幕,系统会谎称是一个320×480的,多余的显示区域会被填充成黑色。”
原因其实就是分辨率的问题,可能采用的比480*800小的分辨率,但是不管怎么说,添加了supports-screens后,对480*800支持,黑条就消失啦!
另外:
1)android的launcher有一个launcher.db的数据库文件,里面保存了launcher需要加载的信息,比如搜索条,
文件夹信息,快捷图标,等等
2)还有一个开源的awdLanucher, 这个和android自带的launcher大体是差不多的,这个launcher不需要包含
其它的库,已经配置好了,下载地址http://www.eoeandroid.com/thread-46204-1-1.html