Most visited

Recently visited

BaseCardView

public class BaseCardView
extends FrameLayout

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.support.v17.leanback.widget.BaseCardView
Known Direct Subclasses


卡式布局,可响应某些状态更改。 它将孩子安排在一个垂直的列中,不同的地区在不同的时间可见。

BaseCardView将根据其类型,子类型的区域可见性以及小部件的状态来绘制子项。 孩子可能被标记为属于三个区域之一:主要,信息或额外。 主区域始终可见,而信息区域和额外区域可设置为基于视图的激活或选定状态进行显示。 卡状态通过调用setActivatedsetSelected进行设置。

有关布局属性,请参阅 BaseCardView.LayoutParams

Summary

Nested classes

class BaseCardView.LayoutParams

与BaseCardView相关联的每个子布局信息。

Inherited XML attributes

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View

Constants

int CARD_REGION_VISIBLE_ACTIVATED

表示当卡被激活时卡区域可见。

int CARD_REGION_VISIBLE_ALWAYS

表示卡片区域始终可见。

int CARD_REGION_VISIBLE_SELECTED

表示当选择卡时卡区域可见。

int CARD_TYPE_INFO_OVER

具有2个布局区域的卡片类型:始终可见的主区域以及在主区域可见时淡入的信息区域。

int CARD_TYPE_INFO_UNDER

具有2个布局区域的卡片类型:始终可见的主区域和出现在主区域下方的信息区域。

int CARD_TYPE_INFO_UNDER_WITH_EXTRA

卡片类型有3个布局区域:主区域始终可见; 将出现在主区域下方的信息区域以及仅在短暂延迟后出现的额外区域。

int CARD_TYPE_MAIN_ONLY

一种简单的卡片类型,只有一个布局区域。

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

BaseCardView(Context context)
BaseCardView(Context context, AttributeSet attrs)
BaseCardView(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

BaseCardView.LayoutParams generateLayoutParams(AttributeSet attrs)

根据提供的属性集返回一组新的布局参数。

int getCardType()

返回此卡的类型。

int getExtraVisibility()

返回卡片额外区域的可见性。

int getInfoVisibility()

返回卡片信息区域的可见性。

boolean isSelectedAnimationDelayed()

返回布尔值,指示所选动画是立即运行还是在下一次选择卡时延迟。

void setActivated(boolean activated)

设置此卡的激活状态。

void setCardType(int type)

设置此卡的类型。

void setExtraVisibility(int visibility)

设置卡的额外区域的可见性。

void setInfoVisibility(int visibility)

设置卡的信息区域的可见性。

void setSelected(boolean selected)

设置此卡的选定状态。

void setSelectedAnimationDelayed(boolean delay)

设置一个标志,指示选定卡片后选择动画(如果所选卡片类型实现一个动画)是否应该立即运行,或者是否应该延迟。

boolean shouldDelayChildPressedState()

如果应该延迟此ViewGroup的子项或后代的按下状态,则返回true。

String toString()

返回对象的字符串表示形式。

Protected methods

boolean checkLayoutParams(ViewGroup.LayoutParams p)
BaseCardView.LayoutParams generateDefaultLayoutParams()

返回一组宽度为 MATCH_PARENT ,高度为 MATCH_PARENT的布局参数。

BaseCardView.LayoutParams generateLayoutParams(ViewGroup.LayoutParams lp)

根据提供的布局参数返回一组安全的布局参数。

int[] onCreateDrawableState(int extraSpace)

为此视图生成新的 Drawable状态。

void onDetachedFromWindow()

这是在视图从窗口分离时调用的。

void onLayout(boolean changed, int left, int top, int right, int bottom)

当这个视图为每个孩子分配一个大小和位置时,从布局调用。

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。

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

Constants

CARD_REGION_VISIBLE_ACTIVATED

int CARD_REGION_VISIBLE_ACTIVATED

表示当卡被激活时卡区域可见。

常数值:1(0x00000001)

CARD_REGION_VISIBLE_ALWAYS

int CARD_REGION_VISIBLE_ALWAYS

表示卡片区域始终可见。

常量值:0(0x00000000)

CARD_REGION_VISIBLE_SELECTED

int CARD_REGION_VISIBLE_SELECTED

表示当选择卡时卡区域可见。

常量值:2(0x00000002)

CARD_TYPE_INFO_OVER

int CARD_TYPE_INFO_OVER

具有2个布局区域的卡片类型:始终可见的主区域以及在主区域可见时淡入的信息区域。 卡片高度不会改变。

也可以看看:

常数值:1(0x00000001)

CARD_TYPE_INFO_UNDER

int CARD_TYPE_INFO_UNDER

具有2个布局区域的卡片类型:始终可见的主区域和出现在主区域下方的信息区域。 当信息区域可见时,总卡片高度将会改变。

也可以看看:

常量值:2(0x00000002)

CARD_TYPE_INFO_UNDER_WITH_EXTRA

int CARD_TYPE_INFO_UNDER_WITH_EXTRA

卡片类型有3个布局区域:主区域始终可见; 将出现在主区域下方的信息区域以及仅在短暂延迟后出现的额外区域。 信息区域出现在主区域下方,导致卡的总高度发生变化。 多余的区域在卡片的底部生成动画,在不影响卡片高度的情况下向上移动信息视图。

也可以看看:

常量值:3(0x00000003)

CARD_TYPE_MAIN_ONLY

int CARD_TYPE_MAIN_ONLY

一种简单的卡片类型,只有一个布局区域。 此卡类型在激活/未激活或选定/未选择状态之间转换时不会更改其布局或大小。

也可以看看:

常量值:0(0x00000000)

Public constructors

BaseCardView

BaseCardView (Context context)

Parameters
context Context

BaseCardView

BaseCardView (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

BaseCardView

BaseCardView (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

Public methods

generateLayoutParams

BaseCardView.LayoutParams generateLayoutParams (AttributeSet attrs)

根据提供的属性集返回一组新的布局参数。

Parameters
attrs AttributeSet: the attributes to build the layout parameters from
Returns
BaseCardView.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

getCardType

int getCardType ()

返回此卡的类型。

Returns
int The type of this card.

getExtraVisibility

int getExtraVisibility ()

返回卡片额外区域的可见性。

Returns
int

getInfoVisibility

int getInfoVisibility ()

返回卡片信息区域的可见性。

Returns
int

isSelectedAnimationDelayed

boolean isSelectedAnimationDelayed ()

返回布尔值,指示所选动画是立即运行还是在下一次选择卡时延迟。

Returns
boolean true if this card is set to delay the selected animation the next time it is selected, or false if the selected animation will run immediately the next time the card is selected.

setActivated

void setActivated (boolean activated)

设置此卡的激活状态。 这可以触发卡片布局的变化,导致视图变得可见或隐藏。 当其父容器(如行)接收焦点时,通常将卡设置为“激活”状态,然后激活其所有子项。

Parameters
activated boolean: True if the card is ACTIVE, or false if INACTIVE.

也可以看看:

setCardType

void setCardType (int type)

设置此卡的类型。

Parameters
type int: The desired card type.

setExtraVisibility

void setExtraVisibility (int visibility)

设置卡的额外区域的可见性。

Parameters
visibility int: The region visibility to use for the extra region. Must be one of CARD_REGION_VISIBLE_ALWAYS, CARD_REGION_VISIBLE_SELECTED, or CARD_REGION_VISIBLE_ACTIVATED.

setInfoVisibility

void setInfoVisibility (int visibility)

设置卡的信息区域的可见性。

Parameters
visibility int: The region visibility to use for the info region. Must be one of CARD_REGION_VISIBLE_ALWAYS, CARD_REGION_VISIBLE_SELECTED, or CARD_REGION_VISIBLE_ACTIVATED.

setSelected

void setSelected (boolean selected)

设置此卡的选定状态。 这可以触发卡片布局的变化,导致视图变得可见或隐藏。 接收输入焦点时,卡片通常设置为选定状态。

Parameters
selected boolean: True if the card is Selected, or false otherwise.

也可以看看:

setSelectedAnimationDelayed

void setSelectedAnimationDelayed (boolean delay)

设置一个标志,指示选定卡片后选择动画(如果所选卡片类型实现一个动画)是否应该立即运行,或者是否应该延迟。 默认行为是延迟这个动画。 这是一次性覆盖。 如果设置为false,则在选择卡并且选定的动画被触发后,该标志会自动重置为true。 当您想要更改默认行为并使选定的动画立即运行时,这非常有用。 其中一种情况可能是焦点从一行移动到另一行,而不是延迟选定的动画直到用户暂停在卡上,可能需要立即触发该卡的动画。

Parameters
delay boolean: True (default) if the selected animation should be delayed after the card is selected, or false if the animation should run immediately the next time the card is Selected.

shouldDelayChildPressedState

boolean shouldDelayChildPressedState ()

如果应该延迟此ViewGroup的子项或后代的按下状态,则返回true。 通常,这应该对可以滚动的容器(例如List)完成。 这可以防止在用户实际尝试滚动内容时出现按下状态。 出于兼容性原因,默认实现返回true。 不滚动的子类通常应该重写此方法并返回false。

Returns
boolean

toString

String toString ()

返回对象的字符串表示形式。 通常, toString方法返回一个“文本表示”此对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

ObjecttoString方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

Protected methods

checkLayoutParams

boolean checkLayoutParams (ViewGroup.LayoutParams p)

Parameters
p ViewGroup.LayoutParams
Returns
boolean

generateDefaultLayoutParams

BaseCardView.LayoutParams generateDefaultLayoutParams ()

返回一组宽度为 MATCH_PARENT ,高度为 MATCH_PARENT的布局参数。

Returns
BaseCardView.LayoutParams a set of default layout parameters or null

generateLayoutParams

BaseCardView.LayoutParams generateLayoutParams (ViewGroup.LayoutParams lp)

根据提供的布局参数返回一组安全的布局参数。 当一个ViewGroup传递了一个View,其布局参数不能通过checkLayoutParams(android.view.ViewGroup.LayoutParams)的测试时,这个方法就会被调用。 此方法应该返回一组适合此ViewGroup的布局参数,可能是通过从指定的一组布局参数中复制适当的属性。

Parameters
lp ViewGroup.LayoutParams: The layout parameters to convert into a suitable set of layout parameters for this ViewGroup.
Returns
BaseCardView.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

onCreateDrawableState

int[] onCreateDrawableState (int extraSpace)

为此视图生成新的Drawable状态。 当缓存的Drawable状态被确定为无效时,这由视图系统调用。 要检索当前状态,您应该使用getDrawableState()

Parameters
extraSpace int: if non-zero, this is the number of extra entries you would like in the returned array in which you can place your own states.
Returns
int[] Returns an array holding the current Drawable state of the view.

onDetachedFromWindow

void onDetachedFromWindow ()

这是在视图从窗口分离时调用的。 此时它不再有绘图表面。

onLayout

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

onMeasure

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.

Hooray!