在活动之间共享菜单栏

时间:2012-01-09 12:47:08

标签: android button android-activity menu share

我的应用上有一个菜单栏,我需要在我的5个活动之间分享。我的菜单栏(= 5个允许在活动之间切换的按钮)具有完全相同的UI和任何活动的相同行为,因此我想共享菜单栏XML视图代码和控制器代码。

我已经找到了一种使用Reusable UI Components共享XML代码的方法,但我无法找到一种方法来共享控制菜单栏按钮点击的控制器代码。

注意:我的菜单栏是自定义的,而不是Android Options Menu

提前致谢。

3 个答案:

答案 0 :(得分:2)

我认为最好的解决方案是使用Fragments

Android Support v4 library

答案 1 :(得分:1)

您可以使用简单的菜单栏执行一项活动,然后您可以使用该类扩展您的每个活动而不是活动

假设您的基本活动如下所示: BaseActivity扩展了Activity

在此之后,您可以使用BaseActivity扩展所有五项活动

答案 2 :(得分:0)

也许您应该尝试创建自己的View类。假设菜单栏的根标签是RelativeLayout。

public class MenubarView extends RelativeLayout {
    public MenubarView(Context context, AttributeSet attrs) {
        super(context, attrs);

        // inflates menubar.xml into this view
        // (note: menubar's root view should probably be a 'merge' tag)
        LayoutInflater.from(context).inflate(R.layout.menubar, this);
    }

    // controller code
}

然后在你的xml中,只需嵌入你的自定义视图:

<LinearLayout
   ... />

    <com.your.package.MenubarView
        ... />

</LinearLayout>