Android Launcher研究三(4.0的launcher 如何运行在4.1 4.2)


要在4.1上运行4.0的launcher 要修改的一些地方

1。DragController.java

private final Vibrator mVibrator = new Vibrator();

改为

private final Vibrator mVibrator;

并在

public DragController(Launcher launcher); 中加入

mVibrator = (Vibrator)mLauncher.getSystemService(Context.VIBRATOR_SERVICE);//初始化


原因Vibrator的构造函数Vibrator() 已经废弃不用。只能通过getSystemService的方法来获取。



2.

如1中更改之后launcher 已经可以在4.1下启动。

但点击应用键后,还是会出错

出错地方Launcher.java 

toView.setFastAlpha(0f); 

做如下修改,增加系统版本判断

if(Build.VERSION.SDK_INT <= 15)
{
toView.setFastAlpha(0f);
}
else 
{
toView.setAlpha(0f);
}


3. 在Launcher.java, Workspace.java两个文件中搜索fast 

将出现fast的所有函数都使用2中的方法修改。


4.按1,2,3中修改后,launcher便可在4.1.1的模拟器中运行。

此时如果在android 4.2环境下运行,还是会报错。

报错位置:Workspace.java 中函数

 private void updateChildrenLayersEnabled()

{

...

((ViewGroup)getChildAt(i)).setChildrenLayersEnabled(enableChildrenLayers);

...

}


修改为:

if(Build.VERSION.SDK_INT <= 16)
            {                
                ((ViewGroup)getChildAt(i)).setChildrenLayersEnabled(enableChildrenLayers);
            }


暂时不知道用什么函数来代替setChildrenLayersEnabled,也不清楚这句有什么作用。

希望大神指点一二。


做如上修改后,4.2模拟器下,能正常运行。


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bobzyh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值