Description
Button which is visible while user holds it. Main use case is controlling audio recording state (like in Telegram, Viber, VK).
HoldingButton alternatives and similar packages
Based on the "Button Widget" category.
Alternatively, view HoldingButton alternatives based on common mentions on social networks and blogs.
-
Android-Bootstrap
Bootstrap style widgets for Android, with Glyph Icons -
circular-progress-button
Android Circular Progress Button -
SwitchButton
A cute widget of Switch Button for you to create beautiful and friendly UI. -
FloatingActionButton
[DEPRECATED] Android floating action button -
android-process-button
Android Buttons With Built-in Progress Meters. -
fancybuttons
Icons, Borders, Radius ... for Android buttons -
android-flat-button
FButton - a flat button library for Android -
Floating Navigation View
A simple Floating Action Button that shows an anchored Navigation View -
FABProgressCircle
Material progress circle around any FloatingActionButton. 100% Guidelines. -
ArrowDownloadButton
A download button with pretty cool animation -
FabButton
Android Floating ActionButton with a progress indicator ring -
CounterFab
A FloatingActionButton subclass that shows a counter badge on right top corner -
StickySwitch
โญ๏ธ beautiful switch widget with sticky animation โญ๏ธ -
SlideSwitch
A widget you can slide it to open or close something -
ExpandableButtonMenu
[DEPRECATED] An Android library for an expandable button menu -
๐ MediumClap-Android
๐ The Medium's Clapping Effect developed in Android -
SubmitDemo
comtomize view submit button which you use for submit operation or download operation and so on. -
hkm-progress-button
Base on android-process-button this is the advanced version of the android-process-button. -
Rx.Widgets
Materially inspired widgets and views that expose RxJava bindings. -
Composable Button Toggle Group
ComposableButtonToggleGroup is the implementation of MaterialButtonToggleGroup for Jetpack Compose -
Hugo Example
Bersikaplah terbuka terhadap setiap peluang secara fotografis. Memotret apa pun yang menarik mata Anda
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of HoldingButton or a related project?
README
HoldingButton
Button which is visible while user holds it. Main use case is controlling audio recording state (like in Telegram, Viber, VK).
Getting started
Add library as dependency to your build.gradle
.
compile 'com.dewarder:holdingbutton:0.1.3'
How to use
- Wrap your layout with
HoldingButtonLayout
. It is simpleFrameLayout
inside.
<com.dewarder.holdinglibrary.HoldingButtonLayout
android:id="@+id/input_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content">
...
<ImageView
android:id="@+id/start_record"
android:layout_width="48dp"
android:layout_height="match_parent"
android:scaleType="center"
android:src="@drawable/ic_mic_black_24dp"/>
...
</com.dewarder.holdinglibrary.HoldingButtonLayout>
```
2. Set `app:hbl_holding_view` property to id of view which would be translated to `HoldingButton`
```xml
<com.dewarder.holdinglibrary.HoldingButtonLayout
android:id="@+id/input_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hbl_holding_view="@+id/start_record">
- Set
app:hbl_icon
property to icon (usually it is the same as in translated view) which would be appeared inHoldingButton
.
<com.dewarder.holdinglibrary.HoldingButtonLayout
android:id="@+id/input_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hbl_holding_view="@+id/start_record"
app:hbl_icon="@drawable/ic_mic_black_24dp">
- Listen events
mHoldingButtonLayout.addListener(new SimpleHoldingButtonLayoutListener() {
@Override
public void onOffsetChanged(float offset, boolean isCancel) {
mSlideToCancel.setTranslationX(-mHoldingButtonLayout.getWidth() * offset);
mSlideToCancel.setAlpha(1 - SLIDE_TO_CANCEL_ALPHA_MULTIPLIER * offset);
}
});
- Enjoy!
All XML properties
hbl_enabled
(isButtonEnabled/setButtonEnabled
)
Set enabled or disabled state of button only.
hbl_direction
(getDirection/setDirection
)
Set direction of sliding. Possible directions are start
(from right to left) and end
(from left to right).
[](/_arts/hbl_directions.png)
hbl_cancel_offset
(getCancelOffset/setCancelOffset
)
Set minimum offset for cancel action.
[](/_arts/hbl_cancel_offset.png)
hbl_icon
(setIcon
)
[](/_arts/hbl_icon.png)
hbl_cancel_icon
(setCancelIcon
)
[](/_arts/hbl_cancel_icon.png)
hbl_color
(getColor/setColor
)
[](/_arts/hbl_color.png)
hbl_cancel_color
(getCancelColor/CancelColor
)
[](/_arts/hbl_cancel_color.png)
hbl_radius
(getRadius/setRadius
)
[](/_arts/hbl_radius.png)
hbl_second_radius
(getSecondRadius/setSecondRadius
)
[](/_arts/hbl_second_radius.png)
hbl_second_alpha
(getSecondAlpha/setSecondAlpha
)
[](/_arts/hbl_second_alpha.png)
hbl_offset_x
(getOffsetX/setOffsetX
)
[](/_arts/hbl_offset_x.png)
hbl_offset_y
(getOffsetY/setOffsetY
)
[](/_arts/hbl_offset_y.png)
hbl_animate_holding_view
(setAnimateHoldingView/isAnimateHoldingView
)
License
Copyright (C) 2017 Artem Glugovsky
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.
*Note that all licence references and agreements mentioned in the HoldingButton README section above
are relevant to that project's source code only.