Class PromptOptions<T extends PromptOptions>
- java.lang.Object
-
- uk.co.samuelwall.materialtaptargetprompt.extras.PromptOptions<T>
-
- Type Parameters:
T
- The subclass that extends this.
- Direct Known Subclasses:
MaterialTapTargetPrompt.Builder
public class PromptOptions<T extends PromptOptions> extends java.lang.Object
Contains all the settings for creating a prompt.
-
-
Constructor Summary
Constructors Constructor Description PromptOptions(ResourceFinder resourceFinder)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MaterialTapTargetPrompt
create()
Creates anMaterialTapTargetPrompt
with the arguments supplied to this builder.android.view.animation.Interpolator
getAnimationInterpolator()
Get the animation interpolator that is used.boolean
getAutoDismiss()
Get whether the prompt should dismiss itself when a touch event occurs outside the focal.boolean
getAutoFinish()
Get if the prompt should finish itself when a touch event occurs inside the focal.boolean
getBackButtonDismissEnabled()
Will the pressing the system back button dismiss the prompt.int
getBackgroundColour()
Get the background colour.boolean
getCaptureTouchEventOnFocal()
Get if the prompt should stop touch events on the focal point from passing to underlying views.boolean
getCaptureTouchEventOutsidePrompt()
Get if the prompt should stop touch events outside the prompt from passing to underlying views.android.view.View
getClipToView()
Get the view that the prompt canvas is clipped to.java.lang.String
getContentDescription()
Get the text for the accessibility content description.int
getFocalColour()
Get the focal point colour.float
getFocalPadding()
Get the padding between the text and the focal.float
getFocalRadius()
Get the focal point radius for the circle prompt focal.android.graphics.drawable.Drawable
getIconDrawable()
Get the icon drawn as the target.boolean
getIdleAnimationEnabled()
Is the focal animation enabled.boolean
getIgnoreStatusBar()
Get ignore status bar flagfloat
getMaxTextWidth()
Get the maximum width that the primary and secondary text can be.java.lang.CharSequence
getPrimaryText()
Get the text to draw for the primary text.int
getPrimaryTextColour()
Gets the primary text font colour.int
getPrimaryTextGravity()
Gets the gravity for the primary text.float
getPrimaryTextSize()
Get the primary text font size.android.graphics.Typeface
getPrimaryTextTypeface()
Get the typeface for the primary text.int
getPrimaryTextTypefaceStyle()
Get the primary text typeface style.PromptBackground
getPromptBackground()
Get the prompt focal renderer.PromptFocal
getPromptFocal()
Get the prompt focal renderer.PromptText
getPromptText()
Get thePromptText
implementation used to render the prompt text.ResourceFinder
getResourceFinder()
Get the resource finder being used.java.lang.CharSequence
getSecondaryText()
Get the secondary text.int
getSecondaryTextColour()
Get the secondary text colour.int
getSecondaryTextGravity()
Gets the gravity for the secondary text.float
getSecondaryTextSize()
Get the secondary text size.android.graphics.Typeface
getSecondaryTextTypeface()
Get the secondary text typeface.int
getSecondaryTextTypefaceStyle()
Get the secondary text typeface style.android.graphics.PointF
getTargetPosition()
Get the position on the screen that is being targeted.android.view.View
getTargetRenderView()
Get the view that is rendered as the target.android.view.View
getTargetView()
Gets the view that the prompt is targeting.float
getTextPadding()
Get the text left and right padding.float
getTextSeparation()
Get the distance between the primary and secondary text.boolean
isTargetSet()
Has the target been set successfully?void
load(int themeResId)
Loads the supplied theme into the prompt overwriting any previously set values if they are set in the theme.void
onExtraPromptStateChanged(MaterialTapTargetPrompt prompt, int state)
Handles emitting the additional prompt state changed events.void
onPromptStateChanged(MaterialTapTargetPrompt prompt, int state)
Handles emitting the prompt state changed events.T
setAnimationInterpolator(android.view.animation.Interpolator interpolator)
Set the interpolator to use in animations.T
setAutoDismiss(boolean autoDismiss)
Set whether the prompt should dismiss itself when a touch event occurs outside the focal.T
setAutoFinish(boolean autoFinish)
Set whether the prompt should finish itself when a touch event occurs inside the focal.T
setBackButtonDismissEnabled(boolean enabled)
Back button can be used to dismiss the prompt.T
setBackgroundColour(int colour)
Set the background colour.T
setCaptureTouchEventOnFocal(boolean captureTouchEvent)
Set if the prompt should stop touch events on the focal point from passing to underlying views.T
setCaptureTouchEventOutsidePrompt(boolean captureTouchEventOutsidePrompt)
Set if the prompt should stop touch events outside the prompt from passing to underlying views.T
setClipToView(android.view.View view)
Set the view to clip the prompt to.T
setContentDescription(int resId)
Set the accessibility content description text using the given resource id.T
setContentDescription(java.lang.String text)
Set the accessibility content description text to the given stringT
setFocalColour(int colour)
Set the focal point colour.T
setFocalPadding(float padding)
Set the padding between the text and the focal point.T
setFocalPadding(int resId)
Set the padding between the text and the focal point using the given resource id.T
setFocalRadius(float radius)
Set the focal point radius.T
setFocalRadius(int resId)
Set the focal point radius using the given resource id.T
setIcon(int resId)
Set the icon to draw in the focal point using the given resource id.T
setIconDrawable(android.graphics.drawable.Drawable drawable)
Set the icon to draw in the focal point.T
setIconDrawableColourFilter(int colour)
Sets the colour to use to tint the icon drawable.T
setIconDrawableTintList(android.content.res.ColorStateList tint)
Applies a tint to the icon drawableT
setIconDrawableTintMode(android.graphics.PorterDuff.Mode tintMode)
Sets the PorterDuff mode to use to apply the tint.T
setIdleAnimationEnabled(boolean enabled)
Enable/disable focal animation.T
setIgnoreStatusBar(boolean enabled)
Indicates whether to ignore system status bar.T
setMaxTextWidth(float width)
Set the max width that the primary and secondary text can be.T
setMaxTextWidth(int resId)
Set the max width that the primary and secondary text can be using the given resource id.T
setPrimaryText(int resId)
Set the primary text using the given resource id.T
setPrimaryText(java.lang.CharSequence text)
Set the primary text to the given CharSequence.T
setPrimaryText(java.lang.String text)
Set the primary text to the given stringT
setPrimaryTextColour(int colour)
Set the primary text colour.T
setPrimaryTextGravity(int gravity)
Set the primary text horizontal layout gravity.T
setPrimaryTextSize(float size)
Set the primary text font size.T
setPrimaryTextSize(int resId)
Set the primary text font size using the given resource id.T
setPrimaryTextTypeface(android.graphics.Typeface typeface)
Sets the typeface and style used to display the primary text.T
setPrimaryTextTypeface(android.graphics.Typeface typeface, int style)
Sets the typeface used to display the primary text.T
setPromptBackground(PromptBackground promptBackground)
Sets the renderer for the prompt background.T
setPromptFocal(PromptFocal promptFocal)
Sets the renderer for the prompt focal.T
setPromptStateChangeListener(MaterialTapTargetPrompt.PromptStateChangeListener listener)
Set the listener to listen for when the prompt state changes.T
setPromptText(PromptText promptText)
Set thePromptText
implementation to use to render the prompt text.T
setSecondaryText(int resId)
Set the secondary text using the given resource id.T
setSecondaryText(java.lang.CharSequence text)
Set the secondary text.T
setSecondaryText(java.lang.String text)
Set the secondary text.T
setSecondaryTextColour(int colour)
Set the secondary text colour.T
setSecondaryTextGravity(int gravity)
Set the secondary text horizontal layout gravity.T
setSecondaryTextSize(float size)
Set the secondary text font size.T
setSecondaryTextSize(int resId)
Set the secondary text font size using the give resource id.T
setSecondaryTextTypeface(android.graphics.Typeface typeface)
Sets the typeface used to display the secondary text.T
setSecondaryTextTypeface(android.graphics.Typeface typeface, int style)
Sets the typeface and style used to display the secondary text.void
setSequenceListener(MaterialTapTargetPrompt.PromptStateChangeListener listener)
Set the internal listener to listen for when the prompt state changes.T
setTarget(float left, float top)
Set the centre point as a screen positionT
setTarget(int target)
Set the view for the prompt to focus on using the given resource id.T
setTarget(android.view.View target)
Set the view for the prompt to focus on.T
setTargetRenderView(android.view.View view)
Change the view that is rendered as the target.T
setTextGravity(int gravity)
Set the primary and secondary text horizontal layout gravity.T
setTextPadding(float padding)
Set the text left and right padding.T
setTextPadding(int resId)
Set the text left and right padding using the given resource id.T
setTextSeparation(float separation)
Set the distance between the primary and secondary text.T
setTextSeparation(int resId)
Set the distance between the primary and secondary text using the given resource id.MaterialTapTargetPrompt
show()
Creates aMaterialTapTargetPrompt
with the arguments supplied to this builder and immediately displays the prompt.MaterialTapTargetPrompt
showFor(long milliseconds)
Creates aMaterialTapTargetPrompt
with the arguments supplied to this builder and immediately displays the prompt for the number of milliseconds supplied.
-
-
-
Constructor Detail
-
PromptOptions
public PromptOptions(@NonNull ResourceFinder resourceFinder)
Constructor.- Parameters:
resourceFinder
- The resource finder implementation to use to find resources.
-
-
Method Detail
-
load
public void load(@StyleRes int themeResId)
Loads the supplied theme into the prompt overwriting any previously set values if they are set in the theme.- Parameters:
themeResId
- The resource id for the theme.
-
getResourceFinder
@NonNull public ResourceFinder getResourceFinder()
Get the resource finder being used.- Returns:
- The resource finder being used.
-
setTarget
@NonNull public T setTarget(@Nullable android.view.View target)
Set the view for the prompt to focus on.- Parameters:
target
- The view that the prompt will highlight.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setTarget
@NonNull public T setTarget(@IdRes int target)
Set the view for the prompt to focus on using the given resource id.- Parameters:
target
- The view that the prompt will highlight.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getTargetView
@Nullable public android.view.View getTargetView()
Gets the view that the prompt is targeting.- Returns:
- The target view or null if not set or targeting a position.
-
setTarget
@NonNull public T setTarget(float left, float top)
Set the centre point as a screen position- Parameters:
left
- Centre point from screen lefttop
- Centre point from screen top- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getTargetPosition
@Nullable public android.graphics.PointF getTargetPosition()
Get the position on the screen that is being targeted.- Returns:
- The target position or null if targeting a view.
-
setTargetRenderView
@NonNull public T setTargetRenderView(@Nullable android.view.View view)
Change the view that is rendered as the target. By default the view fromsetTarget(View)
is rendered as the target.- Parameters:
view
- The view to use to render the prompt target- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getTargetRenderView
@Nullable public android.view.View getTargetRenderView()
Get the view that is rendered as the target.- Returns:
- The view used to render the prompt target.
-
isTargetSet
public boolean isTargetSet()
Has the target been set successfully?- Returns:
- True if set successfully.
-
setPrimaryText
@NonNull public T setPrimaryText(@StringRes int resId)
Set the primary text using the given resource id.- Parameters:
resId
- The string resource id for the primary text- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setPrimaryText
@NonNull public T setPrimaryText(@Nullable java.lang.String text)
Set the primary text to the given string- Parameters:
text
- The primary text- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setPrimaryText
@NonNull public T setPrimaryText(@Nullable java.lang.CharSequence text)
Set the primary text to the given CharSequence. It is recommended that you don't go crazy with custom Spannables.- Parameters:
text
- The primary text as CharSequence- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getPrimaryText
@Nullable public java.lang.CharSequence getPrimaryText()
Get the text to draw for the primary text.- Returns:
- The primary text.
-
setPrimaryTextSize
@NonNull public T setPrimaryTextSize(@Dimension float size)
Set the primary text font size.- Parameters:
size
- The primary text font size- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setPrimaryTextSize
@NonNull public T setPrimaryTextSize(@DimenRes int resId)
Set the primary text font size using the given resource id.- Parameters:
resId
- The resource id for the primary text size- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getPrimaryTextSize
@Dimension public float getPrimaryTextSize()
Get the primary text font size.- Returns:
- The primary text font size.
-
setPrimaryTextColour
@NonNull public T setPrimaryTextColour(int colour)
Set the primary text colour.- Parameters:
colour
- The primary text colour resource id- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getPrimaryTextColour
public int getPrimaryTextColour()
Gets the primary text font colour.- Returns:
- The primary text font colour.
-
setPrimaryTextTypeface
@NonNull public T setPrimaryTextTypeface(@Nullable android.graphics.Typeface typeface)
Sets the typeface and style used to display the primary text.- Parameters:
typeface
- The primary text typeface
-
setPrimaryTextTypeface
@NonNull public T setPrimaryTextTypeface(@Nullable android.graphics.Typeface typeface, int style)
Sets the typeface used to display the primary text.- Parameters:
typeface
- The primary text typefacestyle
- The typeface style- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getPrimaryTextTypeface
@Nullable public android.graphics.Typeface getPrimaryTextTypeface()
Get the typeface for the primary text.- Returns:
- The primary text typeface.
-
getPrimaryTextTypefaceStyle
public int getPrimaryTextTypefaceStyle()
Get the primary text typeface style.- Returns:
- the primary text typeface style.
-
setSecondaryText
@NonNull public T setSecondaryText(@StringRes int resId)
Set the secondary text using the given resource id.- Parameters:
resId
- The secondary text resource id- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setSecondaryText
@NonNull public T setSecondaryText(@Nullable java.lang.String text)
Set the secondary text.- Parameters:
text
- The secondary text- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setSecondaryText
@NonNull public T setSecondaryText(@Nullable java.lang.CharSequence text)
Set the secondary text. It is recommended that you don't go crazy with custom Spannables.- Parameters:
text
- The secondary text as a CharSequence- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getSecondaryText
@Nullable public java.lang.CharSequence getSecondaryText()
Get the secondary text.- Returns:
- The secondary text.
-
setSecondaryTextSize
@NonNull public T setSecondaryTextSize(@DimenRes int resId)
Set the secondary text font size using the give resource id.- Parameters:
resId
- The secondary text string resource id- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setSecondaryTextSize
@NonNull public T setSecondaryTextSize(@Dimension float size)
Set the secondary text font size.- Parameters:
size
- The secondary text font size- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getSecondaryTextSize
@Dimension public float getSecondaryTextSize()
Get the secondary text size.- Returns:
- The secondary text size.
-
setSecondaryTextColour
@NonNull public T setSecondaryTextColour(int colour)
Set the secondary text colour.- Parameters:
colour
- The secondary text colour resource id- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getSecondaryTextColour
public int getSecondaryTextColour()
Get the secondary text colour.- Returns:
- The secondary text colour.
-
setSecondaryTextTypeface
@NonNull public T setSecondaryTextTypeface(@Nullable android.graphics.Typeface typeface)
Sets the typeface used to display the secondary text.- Parameters:
typeface
- The secondary text typeface
-
setSecondaryTextTypeface
@NonNull public T setSecondaryTextTypeface(@Nullable android.graphics.Typeface typeface, int style)
Sets the typeface and style used to display the secondary text.- Parameters:
typeface
- The secondary text typefacestyle
- The typeface style- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getSecondaryTextTypeface
@Nullable public android.graphics.Typeface getSecondaryTextTypeface()
Get the secondary text typeface.- Returns:
- The secondary text typeface.
-
getSecondaryTextTypefaceStyle
public int getSecondaryTextTypefaceStyle()
Get the secondary text typeface style.- Returns:
- The secondary text typeface style.
-
setContentDescription
@NonNull public T setContentDescription(@StringRes int resId)
Set the accessibility content description text using the given resource id.- Parameters:
resId
- The string resource id for the accessibility content description text- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setContentDescription
@NonNull public T setContentDescription(@Nullable java.lang.String text)
Set the accessibility content description text to the given string- Parameters:
text
- The accessibility content description text- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getContentDescription
@Nullable public java.lang.String getContentDescription()
Get the text for the accessibility content description. Defaults to a concatenation of primary and secondary texts.- Returns:
- The accessibility content description text.
-
setTextPadding
@NonNull public T setTextPadding(@DimenRes int resId)
Set the text left and right padding using the given resource id.- Parameters:
resId
- The text padding dimension resource id- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setTextPadding
@NonNull public T setTextPadding(@Dimension float padding)
Set the text left and right padding.- Parameters:
padding
- The padding on the text left and right- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getTextPadding
@Dimension public float getTextPadding()
Get the text left and right padding.- Returns:
- The text left and right padding.
-
setTextSeparation
@NonNull public T setTextSeparation(@DimenRes int resId)
Set the distance between the primary and secondary text using the given resource id.- Parameters:
resId
- The dimension resource id for the text separation- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setTextSeparation
@NonNull public T setTextSeparation(@Dimension float separation)
Set the distance between the primary and secondary text.- Parameters:
separation
- The distance separation between the primary and secondary text- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getTextSeparation
@Dimension public float getTextSeparation()
Get the distance between the primary and secondary text.- Returns:
- the distance between the primary and secondary text.
-
setFocalPadding
@NonNull public T setFocalPadding(@DimenRes int resId)
Set the padding between the text and the focal point using the given resource id.- Parameters:
resId
- The dimension resource id for the focal to text distance- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setFocalPadding
@NonNull public T setFocalPadding(@Dimension float padding)
Set the padding between the text and the focal point.- Parameters:
padding
- The distance between the text and focal- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getFocalPadding
@Dimension public float getFocalPadding()
Get the padding between the text and the focal.- Returns:
- The padding between the text and the focal.
-
setAnimationInterpolator
@NonNull public T setAnimationInterpolator(@Nullable android.view.animation.Interpolator interpolator)
Set the interpolator to use in animations.- Parameters:
interpolator
- The animation interpolator to use- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getAnimationInterpolator
@Nullable public android.view.animation.Interpolator getAnimationInterpolator()
Get the animation interpolator that is used.- Returns:
- The animation interpolator that is used.
-
setIdleAnimationEnabled
@NonNull public T setIdleAnimationEnabled(boolean enabled)
Enable/disable focal animation. true by default- Parameters:
enabled
- Idle animation enabled- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getIdleAnimationEnabled
public boolean getIdleAnimationEnabled()
Is the focal animation enabled.- Returns:
- True if the idle animation is enabled.
-
setIcon
@NonNull public T setIcon(@DrawableRes int resId)
Set the icon to draw in the focal point using the given resource id.- Parameters:
resId
- The drawable resource id for the icon- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setIconDrawable
@NonNull public T setIconDrawable(@Nullable android.graphics.drawable.Drawable drawable)
Set the icon to draw in the focal point.- Parameters:
drawable
- The drawable for the icon- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getIconDrawable
@Nullable public android.graphics.drawable.Drawable getIconDrawable()
Get the icon drawn as the target.- Returns:
- The icon drawn as the target.
-
setIconDrawableTintList
@NonNull public T setIconDrawableTintList(@Nullable android.content.res.ColorStateList tint)
Applies a tint to the icon drawable- Parameters:
tint
- the tint to apply to the icon drawable,null
will remove the tint.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setIconDrawableTintMode
@NonNull public T setIconDrawableTintMode(@Nullable android.graphics.PorterDuff.Mode tintMode)
Sets the PorterDuff mode to use to apply the tint.- Parameters:
tintMode
- the tint mode to use on the icon drawable,null
will remove the tint.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setIconDrawableColourFilter
@NonNull public T setIconDrawableColourFilter(int colour)
Sets the colour to use to tint the icon drawable.- Parameters:
colour
- The colour to use to tint the icon drawable, callsetIconDrawableTintList(ColorStateList)
orsetIconDrawableTintMode(PorterDuff.Mode)
withnull
to remove the tint.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setPromptStateChangeListener
@NonNull public T setPromptStateChangeListener(@Nullable MaterialTapTargetPrompt.PromptStateChangeListener listener)
Set the listener to listen for when the prompt state changes.- Parameters:
listener
- The listener to use- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setSequenceListener
public void setSequenceListener(@Nullable MaterialTapTargetPrompt.PromptStateChangeListener listener)
Set the internal listener to listen for when the prompt state changes. This does not return a builder is it's not intended to be user during the creation of Prompts- Parameters:
listener
- The listener to use
-
onPromptStateChanged
public void onPromptStateChanged(@NonNull MaterialTapTargetPrompt prompt, int state)
Handles emitting the prompt state changed events.- Parameters:
state
- The state that the prompt is now in.
-
onExtraPromptStateChanged
public void onExtraPromptStateChanged(@NonNull MaterialTapTargetPrompt prompt, int state)
Handles emitting the additional prompt state changed events.- Parameters:
state
- The state that the prompt is now in.
-
setCaptureTouchEventOnFocal
@NonNull public T setCaptureTouchEventOnFocal(boolean captureTouchEvent)
Set if the prompt should stop touch events on the focal point from passing to underlying views. Default is false.- Parameters:
captureTouchEvent
- True to capture touch events in the prompt- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getCaptureTouchEventOnFocal
public boolean getCaptureTouchEventOnFocal()
Get if the prompt should stop touch events on the focal point from passing to underlying views.- Returns:
- True to capture touch events in the prompt
-
setMaxTextWidth
@NonNull public T setMaxTextWidth(@DimenRes int resId)
Set the max width that the primary and secondary text can be using the given resource id.- Parameters:
resId
- The dimension resource id for the max width that the text can reach- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setMaxTextWidth
@NonNull public T setMaxTextWidth(@Dimension float width)
Set the max width that the primary and secondary text can be.- Parameters:
width
- The max width that the text can reach- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getMaxTextWidth
@Dimension public float getMaxTextWidth()
Get the maximum width that the primary and secondary text can be.- Returns:
- The maximum text width.
-
setBackgroundColour
@NonNull public T setBackgroundColour(int colour)
Set the background colour. The Material Design Guidelines specify that this should be 244 or hex F4.- Parameters:
colour
- The background colour colour resource id- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getBackgroundColour
public int getBackgroundColour()
Get the background colour.- Returns:
- The background colour.
-
setFocalColour
@NonNull public T setFocalColour(int colour)
Set the focal point colour.- Parameters:
colour
- The focal colour colour resource id- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getFocalColour
public int getFocalColour()
Get the focal point colour.- Returns:
- The focal point colour.
-
setFocalRadius
@NonNull public T setFocalRadius(@DimenRes int resId)
Set the focal point radius using the given resource id.- Parameters:
resId
- The focal radius dimension resource id- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setFocalRadius
@NonNull public T setFocalRadius(@Dimension float radius)
Set the focal point radius.- Parameters:
radius
- The focal radius- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getFocalRadius
@Dimension public float getFocalRadius()
Get the focal point radius for the circle prompt focal.- Returns:
- The radius used for the circle prompt focal.
-
setAutoDismiss
@NonNull public T setAutoDismiss(boolean autoDismiss)
Set whether the prompt should dismiss itself when a touch event occurs outside the focal. Default is true. Listen for theMaterialTapTargetPrompt.STATE_NON_FOCAL_PRESSED
event in thesetPromptStateChangeListener(MaterialTapTargetPrompt.PromptStateChangeListener)
to handle the prompt being pressed outside the focal area.- Parameters:
autoDismiss
- True - prompt will dismiss when touched outside the focal, false - no action taken.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getAutoDismiss
public boolean getAutoDismiss()
Get whether the prompt should dismiss itself when a touch event occurs outside the focal.- Returns:
- True - prompt will dismiss when touched outside the focal, false - no action taken.
-
setAutoFinish
@NonNull public T setAutoFinish(boolean autoFinish)
Set whether the prompt should finish itself when a touch event occurs inside the focal. Default is true. Listen for theMaterialTapTargetPrompt.STATE_FOCAL_PRESSED
event in thesetPromptStateChangeListener(MaterialTapTargetPrompt.PromptStateChangeListener)
to handle the prompt target being pressed.- Parameters:
autoFinish
- True - prompt will finish when touched inside the focal, false - no action taken.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getAutoFinish
public boolean getAutoFinish()
Get if the prompt should finish itself when a touch event occurs inside the focal.- Returns:
- True if the prompt should finish itself when a touch event occurs inside the focal.
-
setCaptureTouchEventOutsidePrompt
@NonNull public T setCaptureTouchEventOutsidePrompt(boolean captureTouchEventOutsidePrompt)
Set if the prompt should stop touch events outside the prompt from passing to underlying views. Default is false.- Parameters:
captureTouchEventOutsidePrompt
- True to capture touch events out side the prompt- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getCaptureTouchEventOutsidePrompt
public boolean getCaptureTouchEventOutsidePrompt()
Get if the prompt should stop touch events outside the prompt from passing to underlying views.- Returns:
- True if touch events will not be passed to views below the prompt.
-
setTextGravity
@NonNull public T setTextGravity(int gravity)
Set the primary and secondary text horizontal layout gravity. Default:Gravity.START
- Parameters:
gravity
- The horizontal gravity- Returns:
- This Builder object to allow for chaining of calls to set methods
-
setPrimaryTextGravity
@NonNull public T setPrimaryTextGravity(int gravity)
Set the primary text horizontal layout gravity. Default:Gravity.START
- Parameters:
gravity
- The horizontal gravity- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getPrimaryTextGravity
public int getPrimaryTextGravity()
Gets the gravity for the primary text.- Returns:
- The primary texts gravity.
-
setSecondaryTextGravity
@NonNull public T setSecondaryTextGravity(int gravity)
Set the secondary text horizontal layout gravity. Default:Gravity.START
- Parameters:
gravity
- The horizontal gravity- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getSecondaryTextGravity
public int getSecondaryTextGravity()
Gets the gravity for the secondary text.- Returns:
- The secondary texts gravity.
-
setClipToView
@NonNull public T setClipToView(@Nullable android.view.View view)
Set the view to clip the prompt to. The prompt won't draw outside the bounds of this view. Default:R.id.content
Null can be used to stop the prompt being clipped to a view.
- Parameters:
view
- The view to clip to- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getClipToView
@Nullable public android.view.View getClipToView()
Get the view that the prompt canvas is clipped to. The prompt won't draw outside the bounds of this view.- Returns:
- The view that the prompt canvas is clipped to.
-
setBackButtonDismissEnabled
@NonNull public T setBackButtonDismissEnabled(boolean enabled)
Back button can be used to dismiss the prompt. Default: true- Parameters:
enabled
- True for back button dismiss enabled- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getBackButtonDismissEnabled
public boolean getBackButtonDismissEnabled()
Will the pressing the system back button dismiss the prompt.- Returns:
- True if pressing the system back button will dismiss the prompt, false otherwise.
-
setIgnoreStatusBar
@NonNull public T setIgnoreStatusBar(boolean enabled)
Indicates whether to ignore system status bar. Drawing area will be increased to the top of screen regardless of status bar if this flag is true (status bar should be transparent to see any effect from this) Default: false- Parameters:
enabled
- true for drawing behind system status bar- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getIgnoreStatusBar
public boolean getIgnoreStatusBar()
Get ignore status bar flag- Returns:
- true if status bar should be ignored, otherwise false
-
setPromptBackground
@NonNull public T setPromptBackground(@NonNull PromptBackground promptBackground)
Sets the renderer for the prompt background.- Parameters:
promptBackground
- The background shape to use.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getPromptBackground
@NonNull public PromptBackground getPromptBackground()
Get the prompt focal renderer.- Returns:
- The prompt focal instance.
-
setPromptFocal
@NonNull public T setPromptFocal(@NonNull PromptFocal promptFocal)
Sets the renderer for the prompt focal.- Parameters:
promptFocal
- The focal shape to use.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getPromptFocal
@NonNull public PromptFocal getPromptFocal()
Get the prompt focal renderer.- Returns:
- The prompt focal instance.
-
setPromptText
@NonNull public T setPromptText(@NonNull PromptText promptText)
Set thePromptText
implementation to use to render the prompt text.- Parameters:
promptText
- The prompt text implementation.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
getPromptText
@NonNull public PromptText getPromptText()
Get thePromptText
implementation used to render the prompt text.- Returns:
- This Builder object to allow for chaining of calls to set methods
-
create
@Nullable public MaterialTapTargetPrompt create()
Creates anMaterialTapTargetPrompt
with the arguments supplied to this builder.Calling this method does not display the prompt. If no additional processing is needed,
show()
may be called instead to both create and display the prompt.Will return null if a valid target has not been set or the primary text is null. To check that a valid target has been set call
isTargetSet()
.- Returns:
- The created builder or null if no target
-
show
@Nullable public MaterialTapTargetPrompt show()
Creates aMaterialTapTargetPrompt
with the arguments supplied to this builder and immediately displays the prompt.Calling this method is functionally identical to:
MaterialTapTargetPrompt prompt = builder.create(); prompt.show();
Will return null if a valid target has not been set or the primary text and secondary text are null. To check that a valid target has been set call
isTargetSet()
.- Returns:
- The created builder or null if no target
-
showFor
@Nullable public MaterialTapTargetPrompt showFor(long milliseconds)
Creates aMaterialTapTargetPrompt
with the arguments supplied to this builder and immediately displays the prompt for the number of milliseconds supplied.Calling this method is functionally identical to:
MaterialTapTargetPrompt prompt = builder.create(); prompt.showFor(milliseconds);
Will return null if a valid target has not been set or the primary text and secondary text are null. To check that a valid target has been set call
isTargetSet()
.- Parameters:
milliseconds
- The number of milliseconds to show the prompt for.- Returns:
- The created builder or null if no target
-
-