B4A Library MaterialFavoriteButton

This is a wrapper for this Github-Project.

MaterialFavoriteButton
Version:
1
  • MaterialFavoriteButton
    Fields:
    • ba As BA
    Methods:
    • AddToParent (Parent As ViewGroup, left As Int, top As Int, width As Int, height As Int)
    • BringToFront
    • DesignerCreateView (base As PanelWrapper, lw As LabelWrapper, props As Map)
    • Initialize (EventName As String)
    • Invalidate
    • Invalidate2 (arg0 As Rect)
    • Invalidate3 (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int)
    • IsInitialized As Boolean
    • RemoveView
    • RequestFocus As Boolean
    • SendToBack
    • SetBackgroundImage (arg0 As Bitmap)
    • SetColorAnimated (arg0 As Int, arg1 As Int, arg2 As Int)
    • SetFavorite (favorite As Boolean)
      Changes the favorite state of this button.
      favorite: true to favorite the button, false to uncheck it
    • SetLayout (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int)
    • SetLayoutAnimated (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int, arg4 As Int)
    • SetVisibleAnimated (arg0 As Int, arg1 As Boolean)
    • isFavorite As Boolean
      Returns favorite state.
      Return type: @return:true if button is in favorite state, false if not
    Properties:
    • AnimateFavorite As Boolean [write only]
    • AnimateUnfavorite As Boolean [write only]
    • Background As Drawable
    • BounceDuration As Int [write only]
    • Color As Int [write only]
    • Enabled As Boolean
    • FavoriteResource As String [write only]
    • Height As Int
    • Left As Int
    • NotFavoriteResource As String [write only]
    • Padding As Int [write only]
    • RotationAngle As Int [write only]
    • RotationDuration As Int [write only]
    • Tag As Object
    • Top As Int
    • Type As Int [write only]
    • Visible As Boolean
    • Width As Int

There are four "build-in" favorites: Heart and Star. Each in White and Black
They can be set using the "Color" and the "Type" of the FavoriteButton
Color = 0 (Black) or 1 (White)
Type = 0 (Star) or 1 ()

ic_favorite_black_24dp.png
ic_favorite_border_black_24dp.png

ic_star_black_24dp.png
ic_star_border_black_24dp.png


But you can set your own Favorite Buttons using

B4X:
    fav3.FavoriteResource = "ic_event_available_black_24dp"
    fav3.NotFavoriteResource = "ic_event_busy_black_24dp"

ic_event_available_black_24dp.png
ic_event_busy_black_24dp.png


ad97cfae-6dba-11e5-980a-1f5d82afd773.gif


If you want to donate for my work building the wrapper you can do it here:
 

Attachments

  • MaterialFavoriteButtonEx.zip
    44.2 KB · Views: 675
  • libFavoriteButtonV1.0.0.zip
    15.1 KB · Views: 634
Last edited:

xor83

Member
Licensed User
Longtime User
Hello,

How can I create listing shown in screenshot? What are those panels?
 

Prosg

Active Member
Licensed User
Longtime User
Hello,

I want to add a Favorite Icon without Designer CustomView
so i did this

B4X:
fav1.Initialize("")
    fav1.AnimateFavorite = True
    fav1.AnimateUnfavorite = True
    fav1.Color = 0
    fav1.Type = 1

    Activity.AddView(fav1,0,0,50dip,50dip)

All works but in log i have this :

lib: NOTFOUND '_onfavoritechanged
lib: NOTFOUND 'favorite_onfavoritechanged


Any idea ?

regards
 

Alisson

Active Member
Licensed User
I have the error:

upload_2016-1-5_16-21-13.png


DonManfred, what is need to do to run the example?

Thanks very much
 

Attachments

  • upload_2016-1-5_16-20-43.png
    upload_2016-1-5_16-20-43.png
    138.7 KB · Views: 319

DonManfred

Expert
Licensed User
Longtime User
Can you please post the content of you manifest content?
Or directly upload the code you are using. even if it is the sample from post #1...

I just tried the example above and it works fine here.

Which android.jar do you have defined in the configure paths dilog?
 

Alisson

Active Member
Licensed User
'This code will be applied to the manifest file during compilation.
'You do not need to modify it in most cases.
'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136
AddManifestText(
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="14"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
SetApplicationAttribute(android:theme, "@android:style/Theme.Holo")
'End of default text.
 
Top