Skip to content

githubxh/TapBarMenu

Repository files navigation

#TapBarMenu Android ArsenalPlatformAPI

Simple library that helps creating a "Tap Bar" menu layout.

alt textalt text

Demo 1: https://youtu.be/DjY0cTWWtao

Demo 2: https://youtu.be/dWuPMN6WTOY

##Install Add the dependency to your build.gradle:

dependencies{compile 'com.github.michaldrabik:tapbarmenu:1.0.5' }

##Use

Check sample project for a full example.

TapBarMenu is an extension of a LinearLayout so you can simply put it in your XML. For example:

<com.michaldrabik.tapbarmenulib.TapBarMenu android:id="@+id/tapBarMenu"android:layout_width="match_parent"android:layout_height="56dp"android:layout_gravity="bottom"android:layout_marginBottom="24dp" > <ImageViewandroid:id="@+id/item1"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:paddingTop="10dp"android:paddingBottom="10dp"android:src="@drawable/ic_thumb_up" /> <Spaceandroid:layout_width="56dp"android:layout_height="match_parent" /> <ImageViewandroid:id="@+id/item2"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:paddingTop="10dp"android:paddingBottom="10dp"android:src="@drawable/ic_thumb_down" /> </com.michaldrabik.tapbarmenulib.TapBarMenu>

This will create a menu with 2 icons in the bottom of the screen.

Then, in your code, call open(), close() or toggle() to open/close the menu:

tapBarMenu.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){tapBarMenu.toggle()} });

Note: TapBarMenu will always expand to its parent width. You can choose between 2 anchors bottom or top - see attributes below.

##Customize All available XML parameters are listed below:

AttributeFormatDescription
app:tbm_showItemstrue, falseUse this to show menu's items in a XML preview window.
Useful for designing your menu.
Default: false
app:tbm_backgroundColorcolorMenu color.
Default: red
app:tbm_buttonSizedimensionDiameter of the menu button.
Default: 56dp
app:tbm_buttonPositionleft, right, centerPosition of the menu button.
Default: center
app:tbm_buttonMarginRightdimensionButton position right margin.
Default: 0
app:tbm_buttonMarginLeftdimensionButton position left margin.
Default: 0
app:tbm_iconOpeneddrawableCustom icon for opened state. Must be an animated vector drawable.
Default: X icon
app:tbm_iconCloseddrawableCustom icon for closed state. Must be an animated vector drawable.
Default: Menu icon
app:tbm_menuAnchortop, bottomWhere menu should expand.
Default: bottom

##Kudos

I've been inspired by Aaron Benjamin's great design.

##Versions

1.0.5 - Added Regular Drawable support
1.0.4 - Memory optimizations, onClick listener fixes
1.0.2 - You can now add custom icon via XML or code. See attributes.
1.0.1 - Pre 21 SDK bugfixes
1.0.0 - Initial release

##License

Copyright (C) 2015 Michal Drabik Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

About

Tap Bar Menu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java100.0%