我的应用上有一个菜单栏,我需要在我的5个活动之间分享。我的菜单栏(= 5个允许在活动之间切换的按钮)具有完全相同的UI和任何活动的相同行为,因此我想共享菜单栏XML视图代码和控制器代码。
我已经找到了一种使用Reusable UI Components共享XML代码的方法,但我无法找到一种方法来共享控制菜单栏按钮点击的控制器代码。
注意:我的菜单栏是自定义的,而不是Android Options Menu。
提前致谢。
答案 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>