fabiosassu / Stackexpandableview
Licence: mit
A custom view that resembles the iOS notification group behavior
Stars: ✭ 112
Programming Languages
kotlin
9241 projects
Projects that are alternatives of or similar to Stackexpandableview
Stacklayoutmanager
customized layoutmanager,let item pile up like stackview/类似最美有物卡片堆叠效果
Stars: ✭ 343 (+206.25%)
Mutual labels: stack, widget
Libforth
libforth: A small Forth interpreter that can be used as a library written in c99
Stars: ✭ 107 (-4.46%)
Mutual labels: stack
Slidingdrawer
SlidingDrawer hides content out of the screen and allows the user to drag a handle to bring the content on screen.
Stars: ✭ 94 (-16.07%)
Mutual labels: widget
React Autocomplete Input
Autocomplete input field for React
Stars: ✭ 100 (-10.71%)
Mutual labels: widget
Bubble Navigation
🎉 [Android Library] A light-weight library to easily make beautiful Navigation Bar with ton of 🎨 customization option.
Stars: ✭ 1,537 (+1272.32%)
Mutual labels: widget
Flutter crop
Crop any widget/image in Android, iOS, Web and Desktop with fancy and customizable UI, in pure Dart code.
Stars: ✭ 107 (-4.46%)
Mutual labels: widget
Socialcount
Unmaintained (see the README): Simple barebones project to show share counts from various social networks.
Stars: ✭ 1,382 (+1133.93%)
Mutual labels: widget
Material Bottomnavigation
Bottom Navigation widget component inspired by the Google Material Design Guidelines at https://www.google.com/design/spec/components/bottom-navigation.html
Stars: ✭ 1,375 (+1127.68%)
Mutual labels: widget
Evntouchiddemo
🆔 iOS fingerprint login process implementation
Stars: ✭ 98 (-12.5%)
Mutual labels: widget
Gods
GoDS (Go Data Structures). Containers (Sets, Lists, Stacks, Maps, Trees), Sets (HashSet, TreeSet, LinkedHashSet), Lists (ArrayList, SinglyLinkedList, DoublyLinkedList), Stacks (LinkedListStack, ArrayStack), Maps (HashMap, TreeMap, HashBidiMap, TreeBidiMap, LinkedHashMap), Trees (RedBlackTree, AVLTree, BTree, BinaryHeap), Comparators, Iterators, …
Stars: ✭ 10,883 (+9616.96%)
Mutual labels: stack
Haskell Language Server
Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Stars: ✭ 1,857 (+1558.04%)
Mutual labels: stack
Flutter Status Alert
Display Apple system-like self-hiding status alerts. It is well suited for notifying user without interrupting user flow.
Stars: ✭ 111 (-0.89%)
Mutual labels: widget
Responsible Ai Widgets
This project provides responsible AI user interfaces for Fairlearn, interpret-community, and Error Analysis, as well as foundational building blocks that they rely on.
Stars: ✭ 107 (-4.46%)
Mutual labels: widget
StackExpandableView
A custom view that resembles the iOS notification group behavior
Requirements
- A project configured with the AndroidX
- SDK 16 and and higher
Install
Download via Gradle:
Add this to the project build.gradle
file:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
And then add the dependency to the module build.gradle
file:
dependencies {
implementation 'com.github.fabiosassu:StackExpandableView:latest_version'
}
Where the latest_version
is the value from Download
badge.
Usage
Simple usage
All you need to do is to define a StackExpandableView
item inside your layout:
<it.fabiosassu.stackexpandableview.StackExpandableView
android:id="@+id/horizontalStack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:orientation="horizontal"
app:animationDuration="1000"
app:shownElements="5"
app:parallaxOffset="8dp"/>
You can customize some aspects of this view:
- the
orientation
parameter is be used to specify the direction of the expansion It can be eithervertical
orhorizontal
. By default isvertical
. - the
animationDuration
parameter is used to define the duration of the animation in milliseconds. By default, is 300 milliseconds. - the
shownElements
parameter is used to define how many elements we want to be shown. By default, is 3 elements. - the
parallaxOffset
parameter is used to define the spacing between the underlying objects in dp. By default, is 8dp.
At runtime, you can set/add/remove a list of Views using the related methods
// this is used to set the list of Views
binding.horizontalStack.setWidgets(listOf<LinearLayout>())
// this is used to add a View to the existing one
binding.verticalStack.addWidget(LinearLayout(context))
// this is used to remove a View from the stack
binding.verticalStack.removeWidget(LinearLayout(context))
It is important that all the views that are added to the StackExpandableView
have an id set (fo example using ViewCompat.generateViewId()
), because it is used to order the views internally and also to look for the view when removeWidget()
is called.
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].