public class CollapsingToolbarLayout
extends FrameLayout
java.lang.Object | ||||
↳ | android.view.View | |||
↳ | android.view.ViewGroup | |||
↳ | android.widget.FrameLayout | |||
↳ | android.support.design.widget.CollapsingToolbarLayout |
CollapsingToolbarLayout是一个Toolbar
的包装器,它实现了一个可折叠的应用程序栏。 它被设计成用作AppBarLayout
的直接孩子。 CollapsingToolbarLayout包含以下功能:
setTitle(CharSequence)
. The title appearance can be tweaked via the
collapsedTextAppearance
and
expandedTextAppearance
attributes.
setContentScrim(Drawable)
.
setStatusBarScrim(Drawable)
. This only works on
LOLLIPOP
devices when we set to fit system windows.
COLLAPSE_MODE_PARALLAX
and
setParallaxMultiplier(float)
.
Toolbar
to be fixed in place even though this layout is moving. See
COLLAPSE_MODE_PIN
.
在运行时不要手动添加视图到工具栏 。 我们将在工具栏中添加一个“虚拟视图”,以便我们确定标题的可用空间。 这可能会干扰您添加的任何视图。
Nested classes |
|
---|---|
class |
CollapsingToolbarLayout.LayoutParams
|
XML attributes |
|
---|---|
android.support.design:collapsedTitleGravity |
Specifies how the title should be positioned when collapsed. |
android.support.design:collapsedTitleTextAppearance |
The text appearance of the CollapsingToolbarLayouts title when it is fully 'collapsed' 可能是另一种资源的引用,其形式为“ |
android.support.design:contentScrim |
The drawable to use as a scrim on top of the CollapsingToolbarLayouts content when it has been scrolled sufficiently off screen. |
android.support.design:expandedTitleGravity |
Specifies how the title should be positioned when expanded. |
android.support.design:expandedTitleMargin |
Specifies extra space on the start, top, end and bottom sides of the the expanded title text. |
android.support.design:expandedTitleMarginBottom |
Specifies extra space on the bottom side of the the expanded title text. |
android.support.design:expandedTitleMarginEnd |
Specifies extra space on the end side of the the expanded title text. |
android.support.design:expandedTitleMarginStart |
Specifies extra space on the start side of the the expanded title text. |
android.support.design:expandedTitleMarginTop |
Specifies extra space on the top side of the the expanded title text. |
android.support.design:expandedTitleTextAppearance |
The text appearance of the CollapsingToolbarLayout's title when it is fully 'expanded' 可能是另一种资源的引用,其形式为“ |
android.support.design:scrimAnimationDuration |
Specifies the duration used for scrim visibility animations. |
android.support.design:scrimVisibleHeightTrigger |
Specifies the amount of visible height in pixels used to define when to trigger a scrim visibility change. |
android.support.design:statusBarScrim |
The drawable to use as a scrim for the status bar content when the CollapsingToolbarLayout has been scrolled sufficiently off screen. |
android.support.design:title |
The title to show when titleEnabled is set to true. |
android.support.design:titleEnabled |
Whether the CollapsingToolbarLayout should draw its own shrinking/growing title. |
android.support.design:toolbarId |
The id of the primary Toolbar child that you wish to use for the purpose of collapsing. |
Inherited XML attributes |
|
---|---|
From class android.widget.FrameLayout
|
|
From class android.view.ViewGroup
|
|
From class android.view.View
|
Inherited constants |
---|
From class android.view.ViewGroup
|
From class android.view.View
|
Inherited fields |
---|
From class android.view.View
|
Public constructors |
|
---|---|
CollapsingToolbarLayout(Context context) |
|
CollapsingToolbarLayout(Context context, AttributeSet attrs) |
|
CollapsingToolbarLayout(Context context, AttributeSet attrs, int defStyleAttr) |
Public methods |
|
---|---|
void |
draw(Canvas canvas) 手动将此视图(及其所有子项)呈现给定的Canvas。 |
FrameLayout.LayoutParams |
generateLayoutParams(AttributeSet attrs) 根据提供的属性集返回一组新的布局参数。 |
int |
getCollapsedTitleGravity() 折叠时返回标题的水平和垂直对齐方式。 |
Typeface |
getCollapsedTitleTypeface() 返回用于折叠标题的字体。 |
Drawable |
getContentScrim() 返回用于前景稀松布的drawable。 |
int |
getExpandedTitleGravity() 展开时返回标题的水平和垂直对齐方式。 |
int |
getExpandedTitleMarginBottom() |
int |
getExpandedTitleMarginEnd() |
int |
getExpandedTitleMarginStart() |
int |
getExpandedTitleMarginTop() |
Typeface |
getExpandedTitleTypeface() 返回用于展开标题的字体。 |
long |
getScrimAnimationDuration() 返回用于平纹棉布可见性动画的持续时间(以毫秒为单位)。 |
int |
getScrimVisibleHeightTrigger() 以像素为单位返回可见高度的数量,用于定义何时触发纱布可见性更改。 |
Drawable |
getStatusBarScrim() 返回用于状态栏平纹棉麻织物的可绘制对象。 |
CharSequence |
getTitle() 返回此视图当前正在显示的标题。 |
boolean |
isTitleEnabled() 返回此视图当前是否显示其自己的标题。 |
void |
setCollapsedTitleGravity(int gravity) 设置折叠标题的水平对齐方式,以及在折叠边界中有额外空间超出标题本身所需的空间时将使用的垂直引力。 |
void |
setCollapsedTitleTextAppearance(int resId) 为来自指定TextAppearance资源的折叠标题设置文本颜色和大小。 |
void |
setCollapsedTitleTextColor(int color) 设置折叠标题的文字颜色。 |
void |
setCollapsedTitleTypeface(Typeface typeface) 设置用于折叠标题的字体。 |
void |
setContentScrim(Drawable drawable) 设置drawable用于资源中的内容稀松布。 |
void |
setContentScrimColor(int color) 设置用于内容稀松布的颜色。 |
void |
setContentScrimResource(int resId) 设置drawable用于资源中的内容稀松布。 |
void |
setExpandedTitleColor(int color) 设置扩展标题的文本颜色。 |
void |
setExpandedTitleGravity(int gravity) 设置扩展标题和垂直引力的水平对齐,当扩展边界中有额外的空间时,将使用标题本身所需的额外空间。 |
void |
setExpandedTitleMargin(int start, int top, int end, int bottom) 设置扩展的标题页边距。 |
void |
setExpandedTitleMarginBottom(int margin) 以像素为单位设置底部展开标题边距。 |
void |
setExpandedTitleMarginEnd(int margin) 以像素为单位设置结束展开标题边距。 |
void |
setExpandedTitleMarginStart(int margin) 以像素为单位设置起始扩展标题边距。 |
void |
setExpandedTitleMarginTop(int margin) 以像素为单位设置顶部展开标题边距。 |
void |
setExpandedTitleTextAppearance(int resId) 为指定的TextAppearance资源中的扩展标题设置文本颜色和大小。 |
void |
setExpandedTitleTypeface(Typeface typeface) 设置用于扩展标题的字体。 |
void |
setScrimAnimationDuration(long duration) 设置用于平铺可见性动画的持续时间。 |
void |
setScrimVisibleHeightTrigger(int height) 设置以像素为单位的可见高度数量,用于定义何时触发稀松布可见性更改。 |
void |
setScrimsShown(boolean shown, boolean animate) 设置是否显示内容稀松平方米和/或状态栏平纹棉麻织物。 |
void |
setScrimsShown(boolean shown) 设置是否显示内容稀松平方米和/或状态栏平纹棉麻织物。 |
void |
setStatusBarScrim(Drawable drawable) 设置可供绘制的资源用于状态栏稀松布。 |
void |
setStatusBarScrimColor(int color) 设置用于状态栏平纹棉麻织物的颜色。 |
void |
setStatusBarScrimResource(int resId) 设置drawable用于资源中的内容稀松布。 |
void |
setTitle(CharSequence title) 设置此视图显示的标题(如果启用)。 |
void |
setTitleEnabled(boolean enabled) 设置此视图是否应显示其自己的标题。 |
void |
setVisibility(int visibility) 设置此视图的启用状态。 |
Protected methods |
|
---|---|
boolean |
checkLayoutParams(ViewGroup.LayoutParams p) |
boolean |
drawChild(Canvas canvas, View child, long drawingTime) 绘制这个视图组的一个孩子。 |
void |
drawableStateChanged() 只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。 |
CollapsingToolbarLayout.LayoutParams |
generateDefaultLayoutParams() 返回一组宽度为 |
FrameLayout.LayoutParams |
generateLayoutParams(ViewGroup.LayoutParams p) 根据提供的布局参数返回一组安全的布局参数。 |
void |
onAttachedToWindow() 这在视图附加到窗口时被调用。 |
void |
onDetachedFromWindow() 这是在视图从窗口分离时调用的。 |
void |
onLayout(boolean changed, int left, int top, int right, int bottom) 当这个视图为每个孩子分配一个大小和位置时,从布局调用。 |
void |
onMeasure(int widthMeasureSpec, int heightMeasureSpec) 测量视图及其内容以确定测量宽度和测量高度。 |
void |
onSizeChanged(int w, int h, int oldw, int oldh) 当这个视图的大小发生变化时,这在布局期间被调用。 |
boolean |
verifyDrawable(Drawable who) 如果你的视图子类正在显示它自己的Drawable对象,它应该覆盖这个函数,并且对于它显示的任何Drawable返回true。 |
Inherited methods |
|
---|---|
From class android.widget.FrameLayout
|
|
From class android.view.ViewGroup
|
|
From class android.view.View
|
|
From class java.lang.Object
|
|
From interface android.view.ViewParent
|
|
From interface android.view.ViewManager
|
|
From interface android.graphics.drawable.Drawable.Callback
|
|
From interface android.view.KeyEvent.Callback
|
|
From interface android.view.accessibility.AccessibilityEventSource
|
指定标题在折叠时应如何定位。
必须是以下常量值中的一个或多个(用'|'分隔)。
Constant | Value | 描述 |
---|---|---|
bottom | 50 | Push title to the bottom of its container, not changing its size. |
center | 11 | Place the title in the center of its container in both the vertical and horizontal axis, not changing its size. |
center_horizontal | 1 | Place title in the horizontal center of its container, not changing its size. |
center_vertical | 10 | Place title in the vertical center of its container, not changing its size. |
end | 800005 | Push title to the end of its container, not changing its size. |
fill_vertical | 70 | Grow the vertical size of the title if needed so it completely fills its container. |
left | 3 | Push title to the left of its container, not changing its size. |
right | 5 | Push title to the right of its container, not changing its size. |
start | 800003 | Push title to the beginning of its container, not changing its size. |
top | 30 | Push title to the top of its container, not changing its size. |
相关方法:
CollapsingToolbarLayouts标题完全“折叠”时的文本外观
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
相关方法:
当Drawable在屏幕上滚动充分时,该drawable在CollapsingToolbarLayouts内容之上用作网格布。
可能是颜色值,形式为“ #rgb
”,“ #argb
”,“ #rrggbb#aarrggbb
”。
相关方法:
指定标题在展开时应如何放置。
必须是以下常量值中的一个或多个(用'|'分隔)。
Constant | Value | 描述 |
---|---|---|
bottom | 50 | Push title to the bottom of its container, not changing its size. |
center | 11 | Place the title in the center of its container in both the vertical and horizontal axis, not changing its size. |
center_horizontal | 1 | Place title in the horizontal center of its container, not changing its size. |
center_vertical | 10 | Place title in the vertical center of its container, not changing its size. |
end | 800005 | Push title to the end of its container, not changing its size. |
fill_vertical | 70 | Grow the vertical size of the title if needed so it completely fills its container. |
left | 3 | Push title to the left of its container, not changing its size. |
right | 5 | Push title to the right of its container, not changing its size. |
start | 800003 | Push title to the beginning of its container, not changing its size. |
top | 30 | Push title to the top of its container, not changing its size. |
相关方法:
在展开标题文本的开始,顶部,底部和底部指定额外空间。 保证金值应该是正值。
可能是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
在扩展标题文本的底部指定额外空间。 保证金值应该是正值。
可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
在扩展标题文本的结尾指定额外空间。 保证金值应该是正值。
可能是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
在扩展标题文本的开始侧指定额外空间。 保证金值应该是正值。
可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
在扩展标题文本的顶部指定额外空间。 保证金值应该是正值。
可能是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
完全“展开”时CollapsingToolbarLayout标题的文本外观
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
相关方法:
指定用于平纹棉布可视性动画的持续时间。
可能是一个整数值,例如“ 100
”。
相关方法:
指定以像素为单位的可见高度数量,用于定义何时触发稀松布可见性更改。
可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
当CollapsingToolbarLayout在屏幕上滚动足够时,该drawable用作状态栏内容的网格。 只有使用正确的设置才能在棒棒糖上工作。
可能是一个颜色值,形式为“ #rgb
”,“ #argb
”,“ #rrggbb#aarrggbb
”。
相关方法:
titleEnabled设置为true时显示的标题。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;
可能是一个整数值,例如“ 100
”。
可能是一个布尔值,如“ true
”或“ false
”。
可能是一个颜色值,形式为“ #rgb
”,“ #argb
”,“ #rrggbb#aarrggbb
”。
可能是浮点值,如“ 1.2
”。
可能是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
可能是一个小数值,它是一个浮点数, 14.5%
%或%p,例如“ 14.5%
”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。
相关方法:
CollapsingToolbarLayout是否应该绘制自己的缩小/增长标题。
可能是布尔值,如“ true
”或“ false
”。
相关方法:
您希望用于折叠目的的主工具栏子标识。 该工具栏后代视图不需要是布局的直接子节点。 如果您没有设置,则会使用找到的第一个直接工具栏子项。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
CollapsingToolbarLayout (Context context, AttributeSet attrs)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
CollapsingToolbarLayout (Context context, AttributeSet attrs, int defStyleAttr)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
defStyleAttr |
int
|
void draw (Canvas canvas)
手动将此视图(及其所有子项)呈现给定的Canvas。 在调用这个函数之前,视图必须已经完成了一个完整的布局。 在实现视图时,实现onDraw(android.graphics.Canvas)
而不是重写此方法。 如果您确实需要重写此方法,请调用超类版本。
Parameters | |
---|---|
canvas |
Canvas : The Canvas to which the View is rendered. |
FrameLayout.LayoutParams generateLayoutParams (AttributeSet attrs)
根据提供的属性集返回一组新的布局参数。
Parameters | |
---|---|
attrs |
AttributeSet : the attributes to build the layout parameters from |
Returns | |
---|---|
FrameLayout.LayoutParams |
an instance of ViewGroup.LayoutParams or one of its descendants |
int getCollapsedTitleGravity ()
折叠时返回标题的水平和垂直对齐方式。
相关XML属性:
Returns | |
---|---|
int |
int getExpandedTitleGravity ()
展开时返回标题的水平和垂直对齐方式。
相关XML属性:
Returns | |
---|---|
int |
int getExpandedTitleMarginBottom ()
相关XML属性:
Returns | |
---|---|
int |
the bottom expanded title margin in pixels |
int getExpandedTitleMarginEnd ()
相关XML属性:
Returns | |
---|---|
int |
the ending expanded title margin in pixels |
int getExpandedTitleMarginStart ()
相关XML属性:
Returns | |
---|---|
int |
the starting expanded title margin in pixels |
int getExpandedTitleMarginTop ()
相关XML属性:
Returns | |
---|---|
int |
the top expanded title margin in pixels |
long getScrimAnimationDuration ()
返回用于平纹棉布可见性动画的持续时间(以毫秒为单位)。
Returns | |
---|---|
long |
int getScrimVisibleHeightTrigger ()
以像素为单位返回可见高度的数量,用于定义何时触发纱布可见性更改。
Returns | |
---|---|
int |
Drawable getStatusBarScrim ()
返回用于状态栏平纹棉麻织物的可绘制对象。
相关XML属性:
Returns | |
---|---|
Drawable |
也可以看看:
boolean isTitleEnabled ()
返回此视图当前是否显示其自己的标题。
相关XML属性:
Returns | |
---|---|
boolean |
也可以看看:
void setCollapsedTitleGravity (int gravity)
设置折叠标题的水平对齐方式,以及在折叠边界中有额外空间超出标题本身所需的空间时将使用的垂直引力。
相关XML属性:
Parameters | |
---|---|
gravity |
int
|
void setCollapsedTitleTextAppearance (int resId)
为来自指定TextAppearance资源的折叠标题设置文本颜色和大小。
相关XML属性:
Parameters | |
---|---|
resId |
int
|
void setCollapsedTitleTextColor (int color)
设置折叠标题的文字颜色。
Parameters | |
---|---|
color |
int : The new text color in ARGB format |
void setCollapsedTitleTypeface (Typeface typeface)
设置用于折叠标题的字体。
Parameters | |
---|---|
typeface |
Typeface : typeface to use, or null to use the default. |
void setContentScrim (Drawable drawable)
设置drawable用于资源中的内容稀松布。 提供null将禁用网格功能。
相关XML属性:
Parameters | |
---|---|
drawable |
Drawable : the drawable to display |
也可以看看:
void setContentScrimColor (int color)
设置用于内容稀松布的颜色。
相关XML属性:
Parameters | |
---|---|
color |
int : the color to display |
也可以看看:
void setContentScrimResource (int resId)
设置drawable用于资源中的内容稀松布。
相关XML属性:
Parameters | |
---|---|
resId |
int : drawable resource id |
也可以看看:
void setExpandedTitleColor (int color)
设置扩展标题的文本颜色。
Parameters | |
---|---|
color |
int : The new text color in ARGB format |
void setExpandedTitleGravity (int gravity)
设置扩展标题和垂直引力的水平对齐,当扩展边界中有额外的空间时,将使用标题本身所需的额外空间。
相关XML属性:
Parameters | |
---|---|
gravity |
int
|
void setExpandedTitleMargin (int start, int top, int end, int bottom)
设置扩展的标题页边距。
相关XML属性:
Parameters | |
---|---|
start |
int : the starting title margin in pixels |
top |
int : the top title margin in pixels |
end |
int : the ending title margin in pixels |
bottom |
int : the bottom title margin in pixels |
void setExpandedTitleMarginBottom (int margin)
以像素为单位设置底部展开标题边距。
相关XML属性:
Parameters | |
---|---|
margin |
int : the bottom title margin in pixels |
void setExpandedTitleMarginEnd (int margin)
以像素为单位设置结束展开标题边距。
相关XML属性:
Parameters | |
---|---|
margin |
int : the ending title margin in pixels |
也可以看看:
void setExpandedTitleMarginStart (int margin)
以像素为单位设置起始扩展标题边距。
相关XML属性:
Parameters | |
---|---|
margin |
int : the starting title margin in pixels |
void setExpandedTitleMarginTop (int margin)
以像素为单位设置顶部展开标题边距。
相关XML属性:
Parameters | |
---|---|
margin |
int : the top title margin in pixels |
也可以看看:
void setExpandedTitleTextAppearance (int resId)
为指定的TextAppearance资源中的扩展标题设置文本颜色和大小。
相关XML属性:
Parameters | |
---|---|
resId |
int
|
void setExpandedTitleTypeface (Typeface typeface)
设置用于扩展标题的字体。
Parameters | |
---|---|
typeface |
Typeface : typeface to use, or null to use the default. |
void setScrimAnimationDuration (long duration)
设置用于平铺可见性动画的持续时间。
相关XML属性:
Parameters | |
---|---|
duration |
long : the duration to use in milliseconds |
void setScrimVisibleHeightTrigger (int height)
设置以像素为单位的可见高度数量,用于定义何时触发稀松布可见性更改。
如果此视图的可见高度小于给定值,则可以看到纱布,否则它们将被隐藏。
相关XML属性:
Parameters | |
---|---|
height |
int : value in pixels used to define when to trigger a scrim visibility change |
void setScrimsShown (boolean shown, boolean animate)
设置是否显示内容稀松平方米和/或状态栏平纹棉麻织物。 垂直滚动中的任何更改都可能会覆盖此值。
Parameters | |
---|---|
shown |
boolean : whether the scrims should be shown |
animate |
boolean : whether to animate the visibility change |
void setScrimsShown (boolean shown)
设置是否显示内容稀松平方米和/或状态栏平纹棉麻织物。 垂直滚动中的任何更改都可能会覆盖此值。 如果此视图已经布置,任何可见性更改都将生成动画。
Parameters | |
---|---|
shown |
boolean : whether the scrims should be shown |
void setStatusBarScrim (Drawable drawable)
设置可供绘制的资源用于状态栏稀松布。 提供null将禁用网格功能。
这种稀松布只有在我们获得顶级系统插图后才会显示。
相关XML属性:
Parameters | |
---|---|
drawable |
Drawable : the drawable to display |
也可以看看:
void setStatusBarScrimColor (int color)
设置用于状态栏平纹棉麻织物的颜色。
这种稀松布只有在我们获得顶级系统插图后才会显示。
相关XML属性:
Parameters | |
---|---|
color |
int : the color to display |
也可以看看:
void setStatusBarScrimResource (int resId)
设置drawable用于资源中的内容稀松布。
相关XML属性:
Parameters | |
---|---|
resId |
int : drawable resource id |
也可以看看:
void setTitle (CharSequence title)
设置此视图显示的标题(如果启用)。
相关XML属性:
Parameters | |
---|---|
title |
CharSequence
|
void setTitleEnabled (boolean enabled)
设置此视图是否应显示其自己的标题。
该视图显示的标题将根据滚动偏移量缩小和增大。
相关XML属性:
Parameters | |
---|---|
enabled |
boolean
|
void setVisibility (int visibility)
设置此视图的启用状态。
Parameters | |
---|---|
visibility |
int : One of VISIBLE , INVISIBLE , or GONE . |
boolean checkLayoutParams (ViewGroup.LayoutParams p)
Parameters | |
---|---|
p |
ViewGroup.LayoutParams
|
Returns | |
---|---|
boolean |
boolean drawChild (Canvas canvas, View child, long drawingTime)
绘制这个视图组的一个孩子。 这个方法负责让画布处于正确的状态。 这包括剪裁,翻译,以便孩子的滚动起点在0,0,并应用任何动画转换。
Parameters | |
---|---|
canvas |
Canvas : The canvas on which to draw the child |
child |
View : Who to draw |
drawingTime |
long : The time at which draw is occurring |
Returns | |
---|---|
boolean |
True if an invalidate() was issued |
void drawableStateChanged ()
只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。
如果View有一个StateListAnimator,它也将被调用来运行必要的状态改变动画。
重写此功能时,一定要调用超类。
CollapsingToolbarLayout.LayoutParams generateDefaultLayoutParams ()
返回一组宽度为 MATCH_PARENT
,高度为 MATCH_PARENT
的布局参数。
Returns | |
---|---|
CollapsingToolbarLayout.LayoutParams |
a set of default layout parameters or null |
FrameLayout.LayoutParams generateLayoutParams (ViewGroup.LayoutParams p)
根据提供的布局参数返回一组安全的布局参数。 当一个ViewGroup被传递了一个View,其布局参数没有通过checkLayoutParams(android.view.ViewGroup.LayoutParams)
的测试时,这个方法被调用。 此方法应该返回一组适合此ViewGroup的布局参数,可能是通过从指定的一组布局参数中复制适当的属性。
Parameters | |
---|---|
p |
ViewGroup.LayoutParams : The layout parameters to convert into a suitable set of layout parameters for this ViewGroup. |
Returns | |
---|---|
FrameLayout.LayoutParams |
an instance of ViewGroup.LayoutParams or one of its descendants |
void onAttachedToWindow ()
这在视图附加到窗口时被调用。 此时它有一个Surface并将开始绘制。 请注意,此功能保证在onDraw(android.graphics.Canvas)
之前onDraw(android.graphics.Canvas)
,但可能在第一次onDraw之前的任何时候调用 - 包括onMeasure(int, int)
之前或之后。
void onDetachedFromWindow ()
这是在视图从窗口分离时调用的。 此时它不再有绘图表面。
void onLayout (boolean changed, int left, int top, int right, int bottom)
当这个视图为每个孩子分配一个大小和位置时,从布局调用。 带孩子的派生类应该覆盖这个方法,并调用他们每个孩子的布局。
Parameters | |
---|---|
changed |
boolean : This is a new size or position for this view |
left |
int : Left position, relative to parent |
top |
int : Top position, relative to parent |
right |
int : Right position, relative to parent |
bottom |
int : Bottom position, relative to parent |
void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)
调用, measure(int, int)
子类覆盖以提供其内容的准确和有效的度量。
合同:覆盖此方法时,您必须致电setMeasuredDimension(int, int)
以存储此视图的测量宽度和高度。 如果不这样做,将触发IllegalStateException
,由measure(int, int)
引发。 调用超类' onMeasure(int, int)
是一种有效的用法。
Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应覆盖onMeasure(int, int)
以提供更好的内容度量。
如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()
和 getSuggestedMinimumWidth()
)。
Parameters | |
---|---|
widthMeasureSpec |
int : horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec . |
heightMeasureSpec |
int : vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec . |
void onSizeChanged (int w, int h, int oldw, int oldh)
当这个视图的大小发生变化时,这在布局期间被调用。 如果您刚刚添加到视图层次结构中,则会使用旧值0调用。
Parameters | |
---|---|
w |
int : Current width of this view. |
h |
int : Current height of this view. |
oldw |
int : Old width of this view. |
oldh |
int : Old height of this view. |
boolean verifyDrawable (Drawable who)
如果你的视图子类正在显示它自己的Drawable对象,它应该覆盖这个函数,并且对于它显示的任何Drawable返回true。 这样可以安排这些可绘制的动画。
重写此功能时,一定要调用超类。
Parameters | |
---|---|
who |
Drawable : The Drawable to verify. Return true if it is one you are displaying, else return the result of calling through to the super class. |
Returns | |
---|---|
boolean |
boolean If true than the Drawable is being displayed in the view; else false and it is not allowed to animate. |