ToolbarPanel:一個可以下滑顯示出一個面板的Toolbar

jopen 8年前發布 | 12K 次閱讀 Android開發 移動開發

一個可以下滑顯示出一個面板的Toolbar。這個library受Drawerlayout的啟發,但有別于Drawerlayout顯示左右抽屜,這個library會提供下拉toolbar顯示一個面板的功能。

使用說明:

為了使用它你需要把ToolbarPanelLayout作為你的根布局:

<com.nikoyuwono.toolbarpanel.ToolbarPanelLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/sliding_down_toolbar_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:panelId="@+id/panel"
    app:toolbarId="@+id/toolbar">

    <RelativeLayout
        android:id="@+id/content_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        //Your content here
    </RelativeLayout>

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/color_primary" />

    <RelativeLayout
        android:id="@+id/panel"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        //Your panel content here
    </RelativeLayout>
</com.nikoyuwono.toolbarpanel.ToolbarPanelLayout>

關鍵在于設置panelId和toolbarId到ToolbarPanelLayout以便讓它決定在哪里繪制面板

打開喝關閉面板可以調用:

ToolbarPanelLayout.openPanel(); // Open the panel
ToolbarPanelLayout.closePanel(); // Close the panel

鎖定面板你可以使用ToolbarPanelLayout.setLockMode(int lockMode); 它支持3種模式:

/**
 * The drawer is unlocked.
 */
public static final int LOCK_MODE_UNLOCKED = 0;

/**
 * The drawer is locked closed. The user may not open it, though the app may open it
 * programmatically.
 */
public static final int LOCK_MODE_LOCKED_CLOSED = 1;

/**
 * The drawer is locked open. The user may not close it, though the app may close it
 * programmatically.
 */
public static final int LOCK_MODE_LOCKED_OPEN = 2;

你還可以為ToolbarPanelLayout設置ToolbarPanelListener,目前支持3種事件:

/**
 * Called when a panel's position changes.
 */
public void onPanelSlide(Toolbar toolbar, View panelView, float slideOffset);

/**
 * Called when a panel has settled in a completely open state.
 * The panel is interactive at this point.
 */
public void onPanelOpened(Toolbar toolbar, View panelView);

/**
 * Called when a panel has settled in a completely closed state.
 */
public void onPanelClosed(Toolbar toolbar, View panelView);

下載

你可以通過Gradle來獲得:

compile 'com.nikoyuwono:toolbar-panel:0.1'


項目地址: https://github.com/NikoYuwono/ToolbarPanel

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!