belongs to Maven artifact com.android.support:leanback-v17:28.0.0-alpha1
ShadowOverlayHelper
public
final
class
ShadowOverlayHelper
extends Object
java.lang.Object | |
↳ | android.support.v17.leanback.widget.ShadowOverlayHelper |
ShadowOverlayHelper is a helper class for shadow, overlay color and rounded corner. There are many choices to implement Shadow, overlay color. Initialize it with ShadowOverlayHelper.Builder and it decides the best strategy based on options user choose and current platform version.
ShadowOverlayHelper mHelper = new ShadowOverlayHelper.Builder().
.needsOverlay(true).needsRoundedCorner(true).needsShadow(true)
.build();
mHelper.prepareParentForShadow(parentView); // apply optical-bounds for 9-patch shadow.
mHelper.setOverlayColor(view, Color.argb(0x80, 0x80, 0x80, 0x80));
mHelper.setShadowFocusLevel(view, 1.0f);
...
View initializeView(View view) {
if (mHelper.needsWrapper()) {
ShadowOverlayContainer wrapper = mHelper.createShadowOverlayContainer(context);
wrapper.wrap(view);
return wrapper;
} else {
mHelper.onViewCreated(view);
return view;
}
}
...
Summary
Nested classes | |
---|---|
class |
ShadowOverlayHelper.Builder
Builder for creating ShadowOverlayHelper. |
class |
ShadowOverlayHelper.Options
Option values for ShadowOverlayContainer. |
Constants | |
---|---|
int |
SHADOW_DYNAMIC
Shadows depend on the size, shape, and position of the view. |
int |
SHADOW_NONE
No shadow. |
int |
SHADOW_STATIC
Shadows are fixed. |
Public methods | |
---|---|
ShadowOverlayContainer
|
createShadowOverlayContainer(Context context)
Create ShadowOverlayContainer for this helper. |
int
|
getShadowType()
|
boolean
|
needsOverlay()
|
boolean
|
needsRoundedCorner()
|
boolean
|
needsWrapper()
Returns true if a "wrapper" ShadowOverlayContainer is needed. |
void
|
onViewCreated(View view)
Must be called when view is created for cases |
void
|
prepareParentForShadow(ViewGroup parent)
|
static
void
|
setNoneWrapperOverlayColor(View view, int color)
Set overlay color for view other than ShadowOverlayContainer. |
static
void
|
setNoneWrapperShadowFocusLevel(View view, float level)
Set shadow focus level (0 to 1). |
void
|
setOverlayColor(View view, int color)
Set overlay color for view, it can be a ShadowOverlayContainer if needsWrapper() is true, or other view type. |
void
|
setShadowFocusLevel(View view, float level)
Set shadow focus level (0 to 1). |
static
boolean
|
supportsDynamicShadow()
Returns true if the platform sdk supports dynamic shadows. |
static
boolean
|
supportsForeground()
Returns true if view.setForeground() is supported. |
static
boolean
|
supportsRoundedCorner()
Returns true if the platform sdk supports rounded corner through outline. |
static
boolean
|
supportsShadow()
Return true if the platform sdk supports shadow. |
Constants
SHADOW_DYNAMIC
int SHADOW_DYNAMIC
Shadows depend on the size, shape, and position of the view.
Constant Value: 3 (0x00000003)
SHADOW_STATIC
int SHADOW_STATIC
Shadows are fixed.
Constant Value: 2 (0x00000002)
Public methods
createShadowOverlayContainer
ShadowOverlayContainer createShadowOverlayContainer (Context context)
Create ShadowOverlayContainer for this helper.
Parameters | |
---|---|
context |
Context : Context to create view. |
Returns | |
---|---|
ShadowOverlayContainer |
ShadowOverlayContainer. |
needsWrapper
boolean needsWrapper ()
Returns true if a "wrapper" ShadowOverlayContainer is needed.
When needsWrapper() is true, call createShadowOverlayContainer(Context)
to create the wrapper.
Returns | |
---|---|
boolean |
onViewCreated
void onViewCreated (View view)
Must be called when view is created for cases needsWrapper()
is false.
prepareParentForShadow
void prepareParentForShadow (ViewGroup parent)
prepareParentForShadow(ViewGroup)
must be called on parent of container
before using shadow. Depending on Shadow type, optical bounds might be applied.
Parameters | |
---|---|
parent |
ViewGroup |
setNoneWrapperOverlayColor
void setNoneWrapperOverlayColor (View view, int color)
Set overlay color for view other than ShadowOverlayContainer.
See also setOverlayColor(int)
.
Parameters | |
---|---|
view |
View |
color |
int |
setNoneWrapperShadowFocusLevel
void setNoneWrapperShadowFocusLevel (View view, float level)
Set shadow focus level (0 to 1). 0 for unfocused, 1 for fully focused.
This is for view other than ShadowOverlayContainer.
See also setShadowFocusLevel(float)
.
Parameters | |
---|---|
view |
View |
level |
float |
setOverlayColor
void setOverlayColor (View view, int color)
Set overlay color for view, it can be a ShadowOverlayContainer if needsWrapper() is true, or other view type.
Parameters | |
---|---|
view |
View |
color |
int |
setShadowFocusLevel
void setShadowFocusLevel (View view, float level)
Set shadow focus level (0 to 1). 0 for unfocused, 1 for fully focused.
Parameters | |
---|---|
view |
View |
level |
float |
supportsDynamicShadow
boolean supportsDynamicShadow ()
Returns true if the platform sdk supports dynamic shadows.
Returns | |
---|---|
boolean |
supportsForeground
boolean supportsForeground ()
Returns true if view.setForeground() is supported.
Returns | |
---|---|
boolean |
supportsRoundedCorner
boolean supportsRoundedCorner ()
Returns true if the platform sdk supports rounded corner through outline.
Returns | |
---|---|
boolean |
supportsShadow
boolean supportsShadow ()
Return true if the platform sdk supports shadow.
Returns | |
---|---|
boolean |
Interfaces
- BaseGridView.OnKeyInterceptListener
- BaseGridView.OnMotionInterceptListener
- BaseGridView.OnTouchInterceptListener
- BaseGridView.OnUnhandledKeyListener
- BaseOnItemViewClickedListener
- BaseOnItemViewSelectedListener
- BrowseFrameLayout.OnChildFocusListener
- BrowseFrameLayout.OnFocusSearchListener
- FacetProvider
- FacetProviderAdapter
- FocusHighlight
- FragmentAnimationProvider
- ImeKeyMonitor
- ImeKeyMonitor.ImeKeyListener
- MultiActionsProvider
- OnActionClickedListener
- OnChildLaidOutListener
- OnChildSelectedListener
- OnItemViewClickedListener
- OnItemViewSelectedListener
- PlaybackSeekUi
- SearchBar.SearchBarListener
- SearchBar.SearchBarPermissionListener
- SearchEditText.OnKeyboardDismissListener
- SpeechRecognitionCallback
- TitleViewAdapter.Provider
- ViewHolderTask
Classes
- AbstractDetailsDescriptionPresenter
- AbstractDetailsDescriptionPresenter.ViewHolder
- AbstractMediaItemPresenter
- AbstractMediaItemPresenter.ViewHolder
- AbstractMediaListHeaderPresenter
- AbstractMediaListHeaderPresenter.ViewHolder
- Action
- ArrayObjectAdapter
- BaseCardView
- BaseCardView.LayoutParams
- BaseGridView
- BrowseFrameLayout
- ClassPresenterSelector
- ControlButtonPresenterSelector
- CursorObjectAdapter
- DetailsOverviewLogoPresenter
- DetailsOverviewLogoPresenter.ViewHolder
- DetailsOverviewRow
- DetailsOverviewRow.Listener
- DetailsOverviewRowPresenter
- DetailsOverviewRowPresenter.ViewHolder
- DetailsParallax
- DiffCallback
- DividerPresenter
- DividerRow
- FocusHighlightHelper
- FullWidthDetailsOverviewRowPresenter
- FullWidthDetailsOverviewRowPresenter.Listener
- FullWidthDetailsOverviewRowPresenter.ViewHolder
- FullWidthDetailsOverviewRowPresenter.ViewHolder.DetailsOverviewRowListener
- FullWidthDetailsOverviewSharedElementHelper
- GuidanceStylist
- GuidanceStylist.Guidance
- GuidedAction
- GuidedAction.Builder
- GuidedAction.BuilderBase
- GuidedActionDiffCallback
- GuidedActionEditText
- GuidedActionsStylist
- GuidedActionsStylist.ViewHolder
- GuidedDatePickerAction
- GuidedDatePickerAction.Builder
- GuidedDatePickerAction.BuilderBase
- HeaderItem
- HorizontalGridView
- HorizontalHoverCardSwitcher
- ImageCardView
- ItemAlignmentFacet
- ItemAlignmentFacet.ItemAlignmentDef
- ItemBridgeAdapter
- ItemBridgeAdapter.AdapterListener
- ItemBridgeAdapter.ViewHolder
- ItemBridgeAdapter.Wrapper
- ItemBridgeAdapterShadowOverlayWrapper
- ListRow
- ListRowHoverCardView
- ListRowPresenter
- ListRowPresenter.SelectItemViewHolderTask
- ListRowPresenter.ViewHolder
- ListRowView
- MultiActionsProvider.MultiAction
- ObjectAdapter
- ObjectAdapter.DataObserver
- OnChildViewHolderSelectedListener
- PageRow
- Parallax
- Parallax.FloatProperty
- Parallax.IntProperty
- Parallax.PropertyMarkerValue
- ParallaxEffect
- ParallaxTarget
- ParallaxTarget.DirectPropertyTarget
- ParallaxTarget.PropertyValuesHolderTarget
- PlaybackControlsRow
- PlaybackControlsRow.ClosedCaptioningAction
- PlaybackControlsRow.FastForwardAction
- PlaybackControlsRow.HighQualityAction
- PlaybackControlsRow.MoreActions
- PlaybackControlsRow.MultiAction
- PlaybackControlsRow.OnPlaybackProgressCallback
- PlaybackControlsRow.PictureInPictureAction
- PlaybackControlsRow.PlayPauseAction
- PlaybackControlsRow.RepeatAction
- PlaybackControlsRow.RewindAction
- PlaybackControlsRow.ShuffleAction
- PlaybackControlsRow.SkipNextAction
- PlaybackControlsRow.SkipPreviousAction
- PlaybackControlsRow.ThumbsAction
- PlaybackControlsRow.ThumbsDownAction
- PlaybackControlsRow.ThumbsUpAction
- PlaybackControlsRowPresenter
- PlaybackControlsRowPresenter.ViewHolder
- PlaybackRowPresenter
- PlaybackRowPresenter.ViewHolder
- PlaybackSeekDataProvider
- PlaybackSeekDataProvider.ResultCallback
- PlaybackSeekUi.Client
- PlaybackTransportRowPresenter
- PlaybackTransportRowPresenter.ViewHolder
- Presenter
- Presenter.ViewHolder
- Presenter.ViewHolderTask
- PresenterSelector
- PresenterSwitcher
- RecyclerViewParallax
- RecyclerViewParallax.ChildPositionProperty
- Row
- RowHeaderPresenter
- RowHeaderPresenter.ViewHolder
- RowHeaderView
- RowPresenter
- RowPresenter.ViewHolder
- SearchBar
- SearchEditText
- SearchOrbView
- SearchOrbView.Colors
- SectionRow
- ShadowOverlayContainer
- ShadowOverlayHelper
- ShadowOverlayHelper.Builder
- ShadowOverlayHelper.Options
- SinglePresenterSelector
- SparseArrayObjectAdapter
- SpeechOrbView
- TitleHelper
- TitleView
- TitleViewAdapter
- VerticalGridPresenter
- VerticalGridPresenter.ViewHolder
- VerticalGridView