我有你的答案。您可以在(AOSP) 中进行打包Launcher2
和Launcher3
打包。Jellybean 使用Launcher2
可能是。我个人建议你去Launcher3
,它有内置的方法。
启动器3:
创建一个扩展com.android.launcher3.Launcher
类并覆盖必要方法的类,如下所示:
public class MyLauncher extends Launcher {
@Override
protected boolean hasCustomContentToLeft() {
return true;
}
@Override
protected void addCustomContentToLeft() {
View customView = getLayoutInflater().inflate(R.layout.custom, null);
CustomContentCallbacks callbacks = new CustomContentCallbacks() {
@Override
public void onShow() {}
@Override
public void onScrollProgressChanged(float progress) {}
@Override
public void onHide() {}
};
addToCustomContentPage(customView, callbacks, "custom view");
}
}
这R.layout.custom
是您想要的自定义视图。然后在清单文件中将启动器活动类从 更改Launcher
为MyLauncher
。就是这样。
启动器2:
在Workspace.java
创建以下方法:
public void addCustomView(View child){
CellLayout layout = (CellLayout) getChildAt(0);
layout.addView(child);
}
然后在 中Launcher.java
,找到以下行:
mWorkspace = (Workspace) mDragLayer.findViewById(R.id.workspace);
然后在该行之后的某处粘贴以下代码:
View child = LayoutInflater.from(this).inflate(R.layout.custom, null);
mWorkspace.addCustomView(child);