【问题标题】:Action Bar Buttons Per Activity/Fragment每个活动/片段的操作栏按钮
【发布时间】:2015-02-05 07:23:12
【问题描述】:

嘿,伙计们,伙计们,

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

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

Activity1 是“主屏幕”,只有一个按钮打开 Activity2。 Activity2 在被调用时会自动从片段 X 开始,片段 X 是一个音乐列表。 Activity2 有一个附加选项卡来片段 Y,它是您已加星标/收藏的音乐列表。

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

这可能看起来有点复杂,但我想看看是否有人可以为每个活动/片段使用不同的样式/主题来完成此任务。

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

【问题讨论】:

    标签: android android-activity android-fragments android-actionbar


    【解决方案1】:

    我认为在您的情况下最好的选择是将操作栏切换到工具栏。您可以轻松创建几个不同的工具栏,并将其用作 actionBar(它们只是添加到任何布局中的视图,但基本上像操作栏一样工作)。它们可通过支持库 21+ 获得。 http://developer.android.com/reference/android/support/v7/widget/Toolbar.html

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

    <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>
    ...
    

    【讨论】:

    • 感谢您的回复。值得一试,隐藏 ActionBar 并改用 Toolbars。我会让你知道结果如何,再次感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多