Skeleton Bones Versions Save

Library for dynamically generating skeleton loader drawables for Layouts and Views

v1.4.5

2 years ago

Bug fixes and improvements 🔨 🎉

  • Fixes issue where enabling skeletons would fail

Sometimes the enableSkeletonLoading would fail to show the view's SkeletonDrawable due to that the nestled onDoLayout would not get executed. And then sometimes due to that the views measuredWidth was not taking into account its minimumWidth.

Regards, Contributor Mattias

  • Fixes issue where ignoring bones did not work for nested children

Other ✅

  • Gradle related updates

v1.4.4

3 years ago

Whats new 🎉

New functions, properties and extensions for easier use:

  • New for ViewGroups ✨
fun ViewGroup.enableSkeletonLoading(): SkeletonDrawable?
fun ViewGroup.disableSkeletonLoading(): SkeletonDrawable?
fun ViewGroup.toggleSkeletonLoading(enabled: Boolean): SkeletonDrawable?
  • New for SkeletonBuilders ✨
val properties: SkeletonProperties
fun get(): SkeletonDrawable
  • New for SkeletonBuilders ✨
val properties: BoneProperties
fun get(): BoneDrawable
  • New for BoneDrawables ✨
fun disable()
fun enable(view: View)
  • New for SkeletonDrawables ✨
fun disable()
fun enable(view: ViewGroup)

1.4.3

3 years ago

Various fixes addressing the issues below:

https://github.com/EudyContreras/Skeleton-Bones/issues/20 https://github.com/EudyContreras/Skeleton-Bones/issues/16

This pr feature the fixes and improvements below

  • Better API for creation of drawables and bones
  • More flexibility for builder patterns
  • Documentation improvements
  • Some visibility restrictions removed
  • Allows drawable reuse with the ResetForReuse interface
  • Other small fixes

1.4.2

3 years ago

General Api improvements

Adresses issue #20

New view extensions and utility functions for toggling, enabling, disabling skeleton and bone loaders

fun View.enableSkeletonLoading() = this.toggleSkeletonLoading(true)
fun View.disableSkeletonLoading() = this.toggleSkeletonLoading(false)
fun View.toggleSkeletonLoading(enabled: Boolean)

We can now create SkeletonDrawables and BoneDrawables by passing properties and builders

fun create(view: View, enabled: Boolean = true, builder: BoneBuilder): BoneDrawable 
fun create(view: View, enabled: Boolean = true, properties: BoneProperties = BoneProperties()): BoneDrawable
fun builder(defaultProps: BoneProperties): BoneBuilder

fun create(viewGroup: ViewGroup, enabled: Boolean = true, builder: SkeletonBuilder): SkeletonDrawable
fun create(viewGroup: ViewGroup, enabled: Boolean = true, properties: SkeletonProperties = SkeletonProperties()): SkeletonDrawable
fun builder(defaultProps: SkeletonProperties = SkeletonProperties()): SkeletonBuilder

Missing builder functions for SkeletonBuilders

fun withBoneBuilder(view: View, builder: BoneBuilder.() -> Unit): SkeletonBuilder
fun setAnimateRestoreBounds(animateRestoreBounds: Boolean = false): SkeletonBuilder
fun withIgnoredBones(vararg ids: Int): SkeletonBuilder
fun withIgnoredBones(vararg views: View): SkeletonBuilder 

Missing builder properties for BoneBuilders

fun setCornerRadius(cornerRadius: Float = 0f): BoneBuilder

v1.4.1

3 years ago

*Small Improvements to bone builder API

v1.4

3 years ago

v1.3

4 years ago

Minor improvements

  • Minor optimisations
  • Added helper extension function for that notifies the backing bone for mageViews that the image has been loaded.
  • Added state owner attribute for flagging a bone view as a state owner

v1.2

4 years ago

Minor changes

  • Minor bug fixes related to changing bounds
  • Better progressive content loading
  • Better bound adaptation upon content resize when loaded

v1.1

4 years ago

Minor changes

  • Minor bug fixes related to changing bounds
  • Better fake shadows

Possible braking change

  • AnimateRestoredBounds property default is now set to false by default

v1.0

4 years ago

Initial working release.