Android 工具栏 + 操作栏

Android toolbar + actionbar

我正在使用 Appcompat 库在我的 ActionBarActivity 中获取 supportActionBar。现在我面临着另一个挑战,它是如何在该操作栏下添加工具栏,就像 facebook 应用程序一样。有什么想法吗?

我相信他们实现了类似于滑动表格布局的东西。看看这个 link,Google 开发人员文档有它的示例代码。

https://developer.android.com/samples/SlidingTabsBasic/src/com.example.android.common/view/SlidingTabLayout.html

只需在布局中添加 android.support.v7.widget.Toolbar activity 但不要在 onCreate() 中调用 setActionBar(Toolbar)。工具栏可以在其中包含普通视图,例如按钮、TextView 等,您可以使用通常的 findViewById() 获取句柄。

toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar 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:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/bg_gradient_start"
    app:contentInsetEnd="0dp"
    app:contentInsetStart="0dp">


    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent">

        <Button
            android:id="@+id/toolbarBackButton"
            android:layout_width="72dp"
            android:layout_height="48dp"
            android:layout_gravity="left|center_vertical"
            android:background="@android:color/transparent"
            android:text="@string/back"
            android:textColor="@drawable/button_text_color" />

        <TextView
            android:id="@+id/toolbarTitleText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            tools:text="Title" />

        <Button
            android:id="@+id/toolbarNextButton"
            android:layout_width="72dp"
            android:layout_height="48dp"
            android:layout_gravity="right|center_vertical"
            android:background="@android:color/transparent"
            android:text="@string/next"
            android:visibility="gone"
            tools:visibility="visible"
            android:textColor="@drawable/button_text_color" />
    </FrameLayout>
</android.support.v7.widget.Toolbar>

activity_main.xml我有

<include layout="@layout/toolbar" />

然后在您的 onCreate() 中,您可以 findViewById(R.id.toolbarBackButton) 或您想要使用的任何 id,与其他视图相同。

调用 setSupportActionBar(toolbar) 后,您同意将 ActionBar 替换为 Toolbar。我相信 Facebook 应用程序使用滑动 Tab,而不是 Toolbar 下面的 ActionBar,但他们将其设计得尽可能漂亮。 Android只允许我们设置一个ActionBar,不能再多了。认为您覆盖 onCreateOptionsMenuMenu 项目将放置在哪里?