Android 每个活动/片段的操作栏按钮

Android 每个活动/片段的操作栏按钮,android,android-activity,android-fragments,android-actionbar,Android,Android Activity,Android Fragments,Android Actionbar,嘿,伙计们,伙计们 所以我坐在这里想,是否可以根据用户当前的活动或片段在操作栏上显示和消失按钮 例如,假设我们有Activity1和Activity2(包括片段X和Y) Activity1是“主屏幕”,除了按钮打开Activity2外没有其他功能。当被调用时,Activity2会自动在片段X中开始,片段X是一个音乐列表。Activity2在片段Y上有一个附加选项卡,该选项卡是您已主演/喜爱的音乐列表 这就是它变得混乱的地方。Activity1的ActionBar只包含AppName和溢出按钮。F

嘿,伙计们,伙计们

所以我坐在这里想,是否可以根据用户当前的活动或片段在操作栏上显示和消失按钮

例如,假设我们有Activity1和Activity2(包括片段X和Y)

Activity1是“主屏幕”,除了按钮打开Activity2外没有其他功能。当被调用时,Activity2会自动在片段X中开始,片段X是一个音乐列表。Activity2在片段Y上有一个附加选项卡,该选项卡是您已主演/喜爱的音乐列表

这就是它变得混乱的地方。Activity1的ActionBar只包含AppName和溢出按钮。Fragment X的ActionBar包含AppName和Overflow按钮,但现在包含了一个搜索功能(搜索可以在此片段中看到的完整音乐列表)。片段Y(与X的活动相同,但在不同的选项卡中)ActionBar包含X的ActionBar所拥有的一切,但搜索功能只搜索明星/喜爱的音乐(可以在片段屏幕中看到)

这可能看起来有点复杂,但我想看看是否有人有办法在不使用不同风格/主题的情况下完成这项任务


PS:我如何才能添加搜索选项的功能,以便在输入时显示结果?

我认为在您的情况下,最好的选择是将操作栏切换到工具栏。您可以轻松创建几个不同的工具栏,并将其用作操作栏(它们只是添加到任何布局中的视图,但基本上与操作栏类似)。它们可通过support lib 21+获得。

所以,基本上,您可以在任何布局的开头添加以下内容,并包括您想要的布局(或任何自定义视图)


...

谢谢您的回复。这值得一试,隐藏ActionBar并使用工具栏。我会让你知道结果的,再次感谢:)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:app="http://schemas.android.com/apk/res-auto"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    app:contentInsetStart="0dp">
    <include layout="@layout/toolbar_main_menu" />
</android.support.v7.widget.Toolbar>
...