ToolbarPanel:一个可以下滑显示出一个面板的Toolbar
jopen
9年前
一个可以下滑显示出一个面板的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'