Label

class Label : AppCompatTextView

A label of text attached to a view of the ExpandableFab widget.

Developer Notes:

  1. Different views within the ExpandableFab widget can be labeled (like ExpandableFab and FabOption). Each labeled view will set their own default values for the properties of their specific label. Look at the documentation for the label property declared in each of theses classes to see what the default values of their labels are.

Implementation Notes:

  1. Since the Kotlin 'internal' modifier translates to 'public' in Java, the JvmSynthetic annotation is used on those functions and properties to hide them from the published API for Java clients. A proper solution to this issue would be a package-private visibility modifier, but Kotlin has yet to implement it (https://youtrack.jetbrains.com/issue/KT-29227). Until then, the JvmSynthetic annotations should remain in order to present the proper published API to both Java & Kotlin clients.

Since

1.0.0

Constructors

Label
Link copied to clipboard
fun Label(context: Context)

Used to create a Label programmatically. Clients should not need to call this directly as all labeled Views of the ExpandableFab widget already create their own labels which can be retrieved and modified (but not reassigned) as needed.

Functions

onTouchEvent
Link copied to clipboard
open override fun onTouchEvent(event: MotionEvent?): Boolean

Scales the Label down when pressed, and back up when released. Gives the user some visual feedback to show that the Label was pressed.

Properties

hiddenToVisibleAnimationDurationMs
Link copied to clipboard
var hiddenToVisibleAnimationDurationMs: Long = 75L

The duration (in milliseconds as a positive long) of the animations that the Label will play when going from a hidden to visible state. Set to 0L if you don't want animations played.

labelBackgroundColor
Link copied to clipboard
var labelBackgroundColor: Int

The color of the Label's background, as an integer in the form 0xAARRGGBB.

labelElevation
Link copied to clipboard
var labelElevation: Int

The elevation of the Label, in pixels as a positive float. Retrieve this value in the correct form from your dimens.xml file using: resources.getDimensionPixelSize(R.dimen.name_of_elevation_size). Usage of this property is preferred over the inherited set/getElevation methods.

labelFont
Link copied to clipboard
var labelFont: Typeface

The font of the Label's text. Retrieve this value in the correct form from your resources using: ResourcesCompat.getFont(context, R.font.name_of_font). Usage of this property is preferred over the inherited set/getTypeface methods.

labelText
Link copied to clipboard
var labelText: CharSequence? = null

The text of the Label. Can be set to null to hide the label. Usage of this property is preferred over the inherited set/getText methods.

labelTextColor
Link copied to clipboard
var labelTextColor: Int

The color of the Label's text, as an integer in the form 0xAARRGGBB.

labelTextSize
Link copied to clipboard
var labelTextSize: Float

The size of the Label's text, as a float. Retrieve this value in the correct form from your dimens.xml file using: resources.getDimension(R.dimen.name_of_text_size). Text sizes should use sp as the unit. Usage of this property is preferred over the inherited set/getTextSize methods.

marginPx
Link copied to clipboard
var marginPx: Float = 50f

The margin (in pixels as a positive float) between the Label and the view it is attached to. Negative values are not allowed since clients should likely be changing the Label's position if they wanted to move the Label to the opposite side of the view it's attached to.

overshootTension
Link copied to clipboard
var overshootTension: Float = 3.5f

The tension (as a positive float) in an OvershootInterpolator applied on the Label when it is being shown from a hidden state. Larger values will exaggerate the effect more.

position
Link copied to clipboard
var position: LabelPosition

The Label's LabelPosition, in relation to the view it's attached to.

translationXPx
Link copied to clipboard
var translationXPx: Float = 100f

The distance (in pixels as a float) the Label will travel horizontally during animations. A negative value will make the Label travel to the left, while a positive value will make it travel to the right. See its use in visibleToHiddenAnimations and hiddenToVisibleAnimations.

visibleToHiddenAnimationDurationMs
Link copied to clipboard
var visibleToHiddenAnimationDurationMs: Long = 250L

The duration (in milliseconds as a positive long) of the animations that the Label will play when going from a visible to hidden state. Set to 0L if you don't want animations played.