2012-01-09 158 views
2

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

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

注意:我的菜单栏是定制的,而不是Android的Options Menu之一。

在此先感谢。

+0

我认为这个链接可以帮助ü所以请访问:http://stackoverflow.com/a/3611361/1023138 – 2012-01-09 13:19:24

回答

1

你可以采取一个活动与你的菜单栏简单地实现,然后你可以使用这个类来扩展你们每个人的活动,而不是acivity

假设你的基地活动看起来如下: BaseActivity延伸活动

之后,你可以扩展你所有的五个活动与BaseActivity

+0

这是我以前的方式。 – anticafe 2012-01-09 13:59:31

+0

我做到了,但是您在BaseActivity中的'setContentView()'上设置了哪个布局,然后? – thomaus 2012-01-11 12:04:29

+0

是否可以使用“标签组” – rajpara 2012-01-12 06:45:56

0

也许你应该尝试创建自己的视图类。假设你的菜单栏的根标签是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>