2

我想制作一个可重复使用的“登陆页面”活动,类似于您首次启动官方 twitter 应用程序、facebook 或 google io 应用程序等时的活动。可重复使用是这里的关键我希望活动动态填充它的gridview 与应用程序中的其他活动。

是否可以通过 android manifest 文件解析以找到我的其他活动?如果是这样,是否也可以将我自己的 xml 属性添加到清单文件中以区分哪些活动应该显示在 gridview 中?

或者,有没有其他方法可以找到包中所有现有的活动类?java中有没有办法在实现特定接口的包中查找任何类?

编辑:这是根据要求的屏幕截图替代文字

4

3 回答 3

1

我猜你想要的是仪表板。有关如何实现它的想法,您可以查看Google I/O android 应用程序的源代码,更具体地说是在activity_home.xml中。

解析 manifest.xml 可能是一个想法,尽管我不确定您是否能够访问它。老实说,在您希望使用尽可能少的资源的移动设备上,我建议您参考在 xml 文件中硬编码的项目,就像他们在 Google I/O 应用程序上所做的那样。

原因是您可能只想推广应用程序中最重要的活动,而不是列表的详细视图或一些也在清单中注册的自定义弹出警报,因此很难与其他活动区分开来。

于 2010-08-29T16:47:24.693 回答
1

是否可以通过 android manifest 文件解析以找到我的其他活动?

PackageManager不,但您可以通过和迭代您的活动getPackageInfo()

如果是这样,是否也可以将我自己的 xml 属性添加到清单文件中以区分哪些活动应该显示在 gridview 中?

您应该能够使用<meta-data>元素指向包含额外数据的 XML 资源文件,就像应用小部件和搜索一样。用于loadXmlMetaData()访问内容。

话虽这么说,我同意 Juri 的观点——你在这里用别克来打苍蝇。拥有一个可重复使用的仪表板活动非常棒——在我的 18,000 项待办事项清单上列出一个活动的细节。拥有一个试图动态填充自己的人似乎有点过分了。

于 2010-08-29T18:07:57.473 回答
0

您必须在仪表板上放置多少活动?用户是否能够因为他们想要而推广不活跃的活动?我认为你也必须考虑这些因素。否则,您将首先对要显示的那些进行加权(不同的方法),然后让它们滴入仪表板。

至于如何在哪里显示,如果您使用的是 HTML/CSS,那么您可以使用设置宽度和浮动模型。否则,只需遍历推广活动列表。我已经在我已经完成的 HTML/CSS 仪表板中完成了这两项工作。这只是根据你的参数是什么。

在内存中构建一个列表并从 1 到 6 循环为屏幕上 6 个位置中的每一个分配值相对容易。使它们动态调整大小可能很棘手。

寻找更多信息来帮助您,但不确定您到底是如何遇到问题的。除非您有直接可申请专利的东西,否则我建议您展示代码以及您正在努力解决的问题......

于 2010-08-29T17:47:09.457 回答