在许多活动中初始化相同元素的最佳实践?

时间:2012-01-30 11:19:10

标签: android android-layout

我的应用程序的页脚部分由5个图标组成。这些图标纯粹是指向其他活动的链接。

现在,所有屏幕都必须有这个页脚。因此,我必须在每个activity中执行重复性任务,例如初始化,注册onClick事件,处理每个图像的onClick事件等。

有没有办法完成所有这些任务,然后将它们应用于每个活动?就像我可以制作一些XML布局并将其导入任何其他XML布局一样。

3 个答案:

答案 0 :(得分:1)

使用<include><merge>重新使用公共布局文件,然后创建一个小类来为您进行初始化并在所有活动中重用它,或者将您的活动子类化来自包含初始化代码的公共超类。

答案 1 :(得分:1)

假设您已经知道<include><merge>

  1. 创建一个扩展Activity
  2. 的类(我们称之为BergnamActivity)
  3. 在BergnamActivity中,创建与您的按钮对应的public void something*(View view)方法。
  4. 在页脚布局中(假设您已使用过),将按钮“onClick设置为与BergnamActivity中的每个方法相对应。您需要指定方法名称,区分大小写。 (例如,public void mainMethod(View view)会产生android:onClick="mainMethod"
  5. 对于您的正常活动,不要延长活动,而是扩展BergnamActivity
  6. 最终,我反对Android的通用页脚的想法 - 只适用于iPhone应用程序,因为只有一个物理按钮来控制所有内容。 Android具有菜单按钮,可以为用户提供其他选项。屏幕尺寸将得到更好的利用。

答案 2 :(得分:0)

Android平台提供了各种各样的UI小部件,小型可视化构建块,您可以将它们粘合在一起,为用户提供复杂而有用的界面。但是应用程序通常需要更高级别的可视组件。为了满足这种需求,并且有效地执行此操作,您可以将多个标准小部件组合到一个可重用的组件中。

您可以在布局xml文件中使用<merge /><include />标记,以便在其他布局中重复使用布局。

有关详细信息,请查看Layout Tricks: Creating Reusable UI Components