All Projects → NikoYuwono → Toolbarpanel

NikoYuwono / Toolbarpanel

Licence: mit
Toolbar that can be slided down to show a panel

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Toolbarpanel

Debuguisystem
Create a runtime menu system with buttons and windows for debugging in one line of code.
Stars: ✭ 48 (-87.91%)
Mutual labels:  panel, toolbar
Swiftuix
Extensions and additions to the standard SwiftUI library.
Stars: ✭ 4,087 (+929.47%)
Mutual labels:  toolbar
android-moving-toolbar
[Test Project] - Translate Toolbar using standard API and Android Support Library.
Stars: ✭ 36 (-90.93%)
Mutual labels:  toolbar
mangium
(Needs contributors) Service/project manager for developers/small teams
Stars: ✭ 12 (-96.98%)
Mutual labels:  panel
Cartkit
Cartkit - The [quick] starter kit!
Stars: ✭ 39 (-90.18%)
Mutual labels:  panel
developerbar
Developer Bar (inspired on Kohana Debug Toolbar) for Kohana 3+ PHP
Stars: ✭ 16 (-95.97%)
Mutual labels:  toolbar
NavigationHeader
Navigation Header library based on MotionLayout inspired by dribble menu design built with MotionLayout and ObjectAnimator.
Stars: ✭ 39 (-90.18%)
Mutual labels:  toolbar
Mqtt Panel
A web interface for MQTT
Stars: ✭ 315 (-20.65%)
Mutual labels:  panel
Ribbon
🎀 A simple cross-platform toolbar/custom input accessory view library for iOS & macOS.
Stars: ✭ 273 (-31.23%)
Mutual labels:  toolbar
FatSidebar
Custom vertical button toolbar for macOS
Stars: ✭ 68 (-82.87%)
Mutual labels:  toolbar
tint3
A C++ rewrite of the tint2 panel
Stars: ✭ 39 (-90.18%)
Mutual labels:  panel
vue-smart-widget
🗃️Smart widget is a flexible and extensible content container component for Vue2.x / Vue3.x in Next branch.
Stars: ✭ 110 (-72.29%)
Mutual labels:  panel
panel
Panel for your CS:GO cheat.
Stars: ✭ 25 (-93.7%)
Mutual labels:  panel
jaulp-wicket
This project is a collection of Apache Wicket components and utilities.
Stars: ✭ 14 (-96.47%)
Mutual labels:  panel
Waterfall Toolbar
Stars: ✭ 282 (-28.97%)
Mutual labels:  toolbar
rc-dock
Dock Layout for React Component
Stars: ✭ 318 (-19.9%)
Mutual labels:  panel
ha-floorplan
Bring new life to Home Assistant. By mapping entities to a SVG-object, you're able to control devices, show states, calling services - and much more. Add custom styling on top, to visualize whatever you can think of. Your imagination just become the new limit.
Stars: ✭ 415 (+4.53%)
Mutual labels:  panel
homebridge-konnected
A Homebridge plugin for Konnected Alarm Panel devices
Stars: ✭ 25 (-93.7%)
Mutual labels:  panel
Extended text
A powerful extended official text for Flutter, which supports Speical Text(Image,@somebody), Custom Background, Custom overFlow, Text Selection.
Stars: ✭ 345 (-13.1%)
Mutual labels:  toolbar
Vxe Table
🐬 vxe-table vue 表格解决方案
Stars: ✭ 4,242 (+968.51%)
Mutual labels:  toolbar

ToolbarPanel

Android Arsenal

Toolbar that can be slided down to show a panel. This library is inspired from Android Drawerlayout, but instead of showing drawer from either left or right this library will provide you function to pull down the toolbar to show a panel which you can customize by yourself.

Demo video

Toolbar Panel Demo

#Usage To use it you need to implement ToolbarPanelLayout as your root layout :

<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:pullableToolbarId="@+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>

The key is to set panelId and pullableToolbarId to ToolbarPanelLayout so it can decide where to draw the panel

To open and close panel programatically you can call

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

And to lock the panel you can use ToolbarPanelLayout.setLockMode(int lockMode); which support 3 Mode :

/**
 * 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;

You can also set listener to the ToolbarPanelLayout with ToolbarPanelListener which supported 3 events for now :

/**
 * 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);

#Download

You can grab it via Gradle :

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

#License

The MIT License (MIT)

Copyright (c) 2015 Niko Yuwono

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].