IvBaranov / Materialfavoritebutton
Licence: apache-2.0
Animated favorite/star/like button
Stars: ✭ 586
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Materialfavoritebutton
Materiallettericon
Material first letter icon like lollipop contacts icon. Letter(s) on a shape drawn on canvas.
Stars: ✭ 255 (-56.48%)
Mutual labels: material-design, material, material-ui, android-ui
Sequent
A simple continuous animation library for Android UI.
Stars: ✭ 263 (-55.12%)
Mutual labels: material-design, material, material-ui, android-ui
Slidetoact
A simple 'Slide to Unlock' Material widget for Android, written in Kotlin 📱🎨🦄
Stars: ✭ 783 (+33.62%)
Mutual labels: material-design, material, material-ui, android-ui
Ibackdrop
A library to simply use Backdrop in your project (make it easy). Read more ->
Stars: ✭ 137 (-76.62%)
Mutual labels: material-design, material, material-ui, android-ui
Material Admin
Free Material Admin Template
Stars: ✭ 219 (-62.63%)
Mutual labels: material-design, material, material-ui
Bottomsheet
BottomSheet dialog library for Android
Stars: ✭ 219 (-62.63%)
Mutual labels: material-design, material-ui, android-ui
Motion Shapeofview
Explain how to use MotionLayout with ShapeOfView
Stars: ✭ 236 (-59.73%)
Mutual labels: material-design, material, material-ui
Jekyll Material Theme
A Jekyll Theme based on Material Design using Materialize.
Stars: ✭ 165 (-71.84%)
Mutual labels: material-design, material, material-ui
Alyle Ui
Minimal Design, a set of components for Angular 9+
Stars: ✭ 234 (-60.07%)
Mutual labels: material-design, material, material-ui
Android Iconics
Android-Iconics - Use any icon font, or vector (.svg) as drawable in your application.
Stars: ✭ 4,916 (+738.91%)
Mutual labels: material-design, material, material-ui
Android Material Design For Pre Lollipop
Various UI implementations, animations & effects based on Material Design compatible with pre Lollipop devices as well. (Work in progess)
Stars: ✭ 585 (-0.17%)
Mutual labels: material-design, material-ui, android-ui
Materialpreferences
A highly flexible set of lovely looking views that provides functionality of preferences.
Stars: ✭ 495 (-15.53%)
Mutual labels: material-design, material-ui, android-ui
Hubuntu Ui
Material Admin Dashboard Starter UI ( Ubuntu style ) - https://720kb.github.io/hubuntu-ui/
Stars: ✭ 207 (-64.68%)
Mutual labels: material-design, material, material-ui
Customfloatingactionbutton
This view is for replacement of standard Floating Action Button from Google Support Library. It is easy to use, customizable and you can also add text to button
Stars: ✭ 222 (-62.12%)
Mutual labels: material-design, android-ui, button
Material Singleinputform
A single EditText instead of a classical form. Library that implements flavienlaurent's singleinputform
Stars: ✭ 202 (-65.53%)
Mutual labels: material-design, material, material-ui
Aestheticdialogs
📱 An Android Library for 💫fluid, 😍beautiful, 🎨custom Dialogs.
Stars: ✭ 352 (-39.93%)
Mutual labels: material-design, material-ui, android-ui
Alerter
An Android Alerting Library
Stars: ✭ 5,213 (+789.59%)
Mutual labels: material-design, material-ui, android-ui
Material Progressview
🔥A beautiful, gradual and simple used progress view for android.
Stars: ✭ 406 (-30.72%)
Mutual labels: material-design, material, android-ui
Materialdrawer
The flexible, easy to use, all in one drawer library for your Android project. Now brand new with material 2 design.
Stars: ✭ 11,498 (+1862.12%)
Mutual labels: material-design, material-ui, android-ui
Carbon
Material Design implementation for Android 4.0+. Shadows, ripples, vectors, fonts, animations, widgets, rounded corners and more.
Stars: ✭ 2,942 (+402.05%)
Mutual labels: material-design, material-ui, android-ui
Material Favorite Button
Material spinning favorite/star/like button.
Download
compile 'com.github.ivbaranov:materialfavoritebutton:0.1.5'
Usage
Declare in XML (see xml attributes below for customization):
<com.github.ivbaranov.mfb.MaterialFavoriteButton
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Or static initializer (see xml attributes below for customization):
MaterialFavoriteButton favorite = new MaterialFavoriteButton.Builder(this)
.create();
Configure using xml attributes or setters in code:
app:mfb_state="false" // default button state
app:mfb_animate_favorite="true" // to animate favoriting
app:mfb_animate_unfavorite="false" // to animate unfavoriting
app:mfb_padding="12" // image padding
app:mfb_favorite_image="@drawable/ic_fav" // custom favorite resource
app:mfb_not_favorite_image="@drawable/ic_not_fav"// custom not favorite resource
app:mfb_rotation_duration="400" // rotation duration
app:mfb_rotation_angle="360" // rotation angle
app:mfb_bounce_duration="300" // bounce duration
app:mfb_color="black" // black or white default resources (enum)
app:mfb_type="star" // star or heart shapes (enum)
app:mfb_size="48" // button size
Make sure:
- you are using either (
mfb_favorite_image
andmfb_not_favorite_image
) or (mfb_color
andmfb_type
). - if you change
mfb_size
attribute you should also provide your own combination ofmfb_favorite_image
andmfb_favorite_image
resources andmfb_padding
attribute that will fit your new dimensions, otherwise you can get blurred icon
Set an OnFavoriteChangeListener
to MaterialFavoriteButton
:
favorite.setOnFavoriteChangeListener(
new MaterialFavoriteButton.OnFavoriteChangeListener() {
@Override
public void onFavoriteChanged(MaterialFavoriteButton buttonView, boolean favorite) {
//
}
});
Set an OnFavoriteAnimationEndListener
to MaterialFavoriteButton
:
favorite.setOnFavoriteAnimationEndListener(
new MaterialFavoriteButton.OnFavoriteAnimationEndListener() {
@Override
public void onAnimationEnd(MaterialFavoriteButton buttonView, boolean favorite) {
//
}
});
Usage in RecyclerView
To avoid triggering animation while re-rendering item view make sure you set favorite button state in onBindViewHolder
without animation:
favoriteButton.setFavorite(isFavorite(data.get(position)));
Developed By
Ivan Baranov
License
Copyright 2015 Ivan Baranov
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 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].