public final class ShadowOverlayHelper
extends Object
java.lang.Object | |
↳ | android.support.v17.leanback.widget.ShadowOverlayHelper |
ShadowOverlayHelper是阴影,叠加颜色和圆角的辅助类。 实现阴影,叠加颜色有很多选择。 使用ShadowOverlayHelper.Builder对其进行初始化,并根据用户选择的选项和当前平台版本确定最佳策略。
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; } } ...
Nested classes |
|
---|---|
class |
ShadowOverlayHelper.Builder 用于创建ShadowOverlayHelper的创建器。 |
class |
ShadowOverlayHelper.Options ShadowOverlayContainer的选项值。 |
Constants |
|
---|---|
int |
SHADOW_DYNAMIC 阴影取决于视图的大小,形状和位置。 |
int |
SHADOW_NONE 没有影子。 |
int |
SHADOW_STATIC 阴影是固定的。 |
Public methods |
|
---|---|
ShadowOverlayContainer |
createShadowOverlayContainer(Context context) 为此帮助者创建ShadowOverlayContainer。 |
int |
getShadowType() |
boolean |
needsOverlay() |
boolean |
needsRoundedCorner() |
boolean |
needsWrapper() 如果需要“包装器”ShadowOverlayContainer,则返回true。 |
void |
onViewCreated(View view) 创建视图时,必须调用 |
void |
prepareParentForShadow(ViewGroup parent) 在使用阴影之前,必须在容器的父级上调用 |
static void |
setNoneWrapperOverlayColor(View view, int color) 为ShadowOverlayContainer以外的视图设置覆盖颜色。 |
static void |
setNoneWrapperShadowFocusLevel(View view, float level) 设置阴影对焦水平(0到1)。 |
void |
setOverlayColor(View view, int color) 为视图设置覆盖颜色,如果needsWrapper()为true或其他视图类型,则它可以是ShadowOverlayContainer。 |
void |
setShadowFocusLevel(View view, float level) 设置阴影对焦水平(0到1)。 |
static boolean |
supportsDynamicShadow() 如果平台sdk支持动态阴影,则返回true。 |
static boolean |
supportsForeground() 如果支持view.setForeground(),则返回true。 |
static boolean |
supportsRoundedCorner() 如果平台sdk通过轮廓支持圆角,则返回true。 |
static boolean |
supportsShadow() 如果平台sdk支持阴影,则返回true。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int SHADOW_DYNAMIC
阴影取决于视图的大小,形状和位置。
常量值:3(0x00000003)
int SHADOW_NONE
没有影子。
常数值:1(0x00000001)
int SHADOW_STATIC
阴影是固定的。
常量值:2(0x00000002)
ShadowOverlayContainer createShadowOverlayContainer (Context context)
为此帮助者创建ShadowOverlayContainer。
Parameters | |
---|---|
context |
Context : Context to create view. |
Returns | |
---|---|
ShadowOverlayContainer |
ShadowOverlayContainer. |
int getShadowType ()
Returns | |
---|---|
int |
boolean needsOverlay ()
Returns | |
---|---|
boolean |
boolean needsRoundedCorner ()
Returns | |
---|---|
boolean |
boolean needsWrapper ()
如果需要“包装器”ShadowOverlayContainer,则返回true。 当needsWrapper()为true时,请调用createShadowOverlayContainer(Context)
来创建包装器。
Returns | |
---|---|
boolean |
void prepareParentForShadow (ViewGroup parent)
必须在使用阴影之前在容器的父级上调用prepareParentForShadow(ViewGroup)
。 根据阴影类型,可能会应用光学边界。
Parameters | |
---|---|
parent |
ViewGroup
|
void setNoneWrapperOverlayColor (View view, int color)
为ShadowOverlayContainer以外的视图设置覆盖颜色。 另见setOverlayColor(int)
。
Parameters | |
---|---|
view |
View
|
color |
int
|
void setNoneWrapperShadowFocusLevel (View view, float level)
设置阴影对焦水平(0到1)。 0为未聚焦,1为完全聚焦。 这是用于除ShadowOverlayContainer之外的视图。 另见setShadowFocusLevel(float)
。
Parameters | |
---|---|
view |
View
|
level |
float
|
void setOverlayColor (View view, int color)
为视图设置覆盖颜色,如果needsWrapper()为true或其他视图类型,则它可以是ShadowOverlayContainer。
Parameters | |
---|---|
view |
View
|
color |
int
|
void setShadowFocusLevel (View view, float level)
设置阴影对焦水平(0到1)。 0为未聚焦,1为完全聚焦。
Parameters | |
---|---|
view |
View
|
level |
float
|
boolean supportsDynamicShadow ()
如果平台sdk支持动态阴影,则返回true。
Returns | |
---|---|
boolean |
boolean supportsForeground ()
如果支持view.setForeground(),则返回true。
Returns | |
---|---|
boolean |
boolean supportsRoundedCorner ()
如果平台sdk通过轮廓支持圆角,则返回true。
Returns | |
---|---|
boolean |
boolean supportsShadow ()
如果平台sdk支持阴影,则返回true。
Returns | |
---|---|
boolean |