0

我正在尝试创建自己的 Android Launcher,因此我一直在阅读 Google 自己的 Launcher2 代码、Cyanogen 的 Trebuchet 代码和 ADK 提供的 Home Example,但一直遇到同样的问题:主屏幕是哪种布局(上面有快捷方式和小部件以及用户可选择的壁纸)?

据我所知,Trebuchet 主要基于 Launcher2 代码,但事实证明对它进行筛选非常困难。

4

1 回答 1

0

快速查看 github 上的 Trebuchet 源代码

https://github.com/CyanogenMod/android_packages_apps_Trebuchet

他们似乎大量使用自定义布局。

虽然纯粹是一个示例,但某些布局 xml 的使用PagedViewGridLayout是在 src 文件夹中名为 PagedViewGridLayout.java 的文件中定义的

public class PagedViewGridLayout extends GridLayout implements Page

GridLayout 反过来又是一个标准的 Android 组件 - 就其名称而言,它似乎是您想要的启动器类型。显然,像当前启动器一样复杂的东西将使用许多种类和技巧,因为它是各种可配置的交互式窗格。

理解源代码的基本关键是弄清楚布局 xml 文件的层次结构(以及从代码创建的任何东西,而不是从 xml 膨胀的任何东西)。然后查看所使用的各种自定义布局的继承层次结构和机制。

于 2013-05-30T15:02:15.930 回答