在Android中重用页脚菜单的最佳方法

Gun*_*ium 6 android menu footer

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

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

总结一下我的问题:在多个活动中实现共享页脚导航的最佳方法是什么?

Ric*_*ich 6

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

因此,TabContentActivity可以扩展Activity,然后您的所有特定活动都会扩展TabContentActivity.TabContentActivity有一个调用super.onCreate的onCreate,然后调用一些私有方法来构建菜单.然后,当你的派生类在他们自己的onCreate中调用super.onCreate时,就构建了你的"标签".您可以在TabContentActivity中使用Enum来表示每个选项卡,并使用该Enum类型的局部变量来指示突出显示哪个选项卡.

不要听人们告诉你不要这样做.如果这是您想要的UI,请不要受到您正在使用的环境的限制.就像您有回复告诉您这不是"在Android中执行此操作的正确方法"一样,您目前还有两张投票.