android - 在 Android 中重用页脚菜单的最佳方式

标签 android menu footer

我正在尝试在应用程序的页脚中实现一个菜单,类似于 Engadget 应用程序。据我了解,让标准 TabLayout 以这种方式工作并非易事(如果可能的话?)。

正如我看到不少应用程序使用这种界面范例,我认为有一种聪明的方法可以做到这一点。目前,我通过在每个布局的末尾添加包含行来定义布局。就渲染而言,这工作正常,但我必须将 onClickListeners 添加到每个 Activity 。我们可以通过XML定义clickListener吗?

总结一下我的问题:跨多个 Activity 实现共享页脚导航的最佳方式是什么?

最佳答案

您可以使所有 Activity 都派生自扩展 Activity 的公共(public)基类,并在其中放置一个方法来构建菜单。使用 RelativeLayout 作为主容器,在底部粘贴一个水平的 LinearLayout (layout_alignParentBottom="true"),然后在其上方对齐您的主要“内容”容器(对于特定 Activity 您想要的任何类型的布局)。在菜单中的任何内容(例如 ImageButton)上使用 android:weight,然后在菜单的容器上使用 android:weightSum,它们将均匀分布。所以,如果你有四个带有 android:weight="1"的 ImageButtons 并且包含它们的 LinearLayout 有 android:weightSum="4"你应该很好。

因此,TabContentActivity 可以扩展 Activity,然后您的所有特定 Activity 都会扩展 TabContentActivity。 TabContentActivity 有一个调用 super.onCreate 的 onCreate,然后调用一些私有(private)方法来构建菜单。然后,当您的派生类在它们自己的 onCreate 中调用 super.onCreate 时,您的“选项卡”就会被构建。您可以在 TabContentActivity 中使用一个枚举来表示每个选项卡,并使用该枚举类型的局部变量来指示突出显示哪个选项卡。

不要听信别人告诉你不要那样做。如果那是您想要的 UI,请不要受制于您所处的工作环境。正如您收到的回复告诉您这不是“在 Android 中执行此操作的正确方法”一样,您目前也有两个赞成票。

关于android - 在 Android 中重用页脚菜单的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2928965/

相关文章:

django - 在模板中获取用户组

java - Android 将项目添加到全局上下文菜单

Java Excel API : Add images to the footer of excel files

javascript - 如何制作 float 菜单 -> 位置 :static

c# - 动态添加页脚到 ASP.NET GridView

javascript - 通过javascript获取移动设备硬件信息

android - 如何检查 Whatsapp 是否安装在 android 设备中?

android - 如何在 InputMethodManager#hideSoftInputFromWindow 中使用 ResultReceiver

android - 如何计算android中的声音频率?

javascript - 如何将链接添加到我的菜单并获取内容以显示文本