【问题标题】:Sharing menu bar between activities在活动之间共享菜单栏
【发布时间】:2012-01-09 12:47:07
【问题描述】:

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

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

注意:我的菜单栏是定制的,不是安卓Options Menu的。

提前致谢。

【问题讨论】:

标签: android button android-activity menu share


【解决方案1】:

我认为最好的解决方案是使用Fragments,使用Android Support v4 library

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 我做到了,但是你在 BaseActivity 中的 setContentView() 上设置了哪个布局,然后在之后???
    • 是否可以使用“标签组”
    • 我不知道。但是您能详细解释一下您提出的解决方案吗?
    • 这里是document link of "Tab Layout"。如果它符合您的要求,您可以为您的解决方案实施它
    【解决方案3】:

    也许您应该尝试创建自己的 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 2023-03-29
      • 2012-07-29
      • 2017-10-25
      • 2014-04-13
      相关资源
      最近更新 更多