CardBuilder
类有助于构建具有各种布局的 Glass 主题卡片。
如需了解详情和示例代码,请参阅创建 Glass 样式的卡片。
常规用法
- 创建一个
CardBuilder
对象,将所需的CardBuilder.Layout
传递给构造函数。 - 使用
add/set*
系列方法在卡片上设置内容。 - 通过调用
getView()
获取View
,或使用getRemoteViews()
获取RemoteViews
对象。
嵌入式布局的回收说明
使用EMBED_INSIDE
时,在回收视图时,CardBuilder
不会区分不同的嵌入式布局。如果您有两个具有 EMBED_INSIDE
的 CardBuilder
实例,而一个实例具有布局 A,另一个实例具有布局 B,那么 CardBuilder
会将这两个实例视为相同实例。
如果不希望出现此行为(例如,在使用具有不同嵌入式布局的 CardScrollAdapter
时),您必须通过从 getItemViewType(int)
返回不同的视图类型来区分它们,以便 Recycler 仅向您发送具有您预期特定项的嵌套布局的 convertView
。
如果您需要支持内置多种布局且包含多种嵌入式布局的卡片,我们建议您返回编号为 getViewTypeCount()
、CardBuilder.getViewTypeCount() + 1
等的视图类型。
嵌套类 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
枚举 | CardBuilder.Layout | 定义卡片的视觉布局。 |
公共构造函数 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
公共方法 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
CardBuilder | |||||||||||
CardBuilder | |||||||||||
CardBuilder |
addImage(int imageId)
|
||||||||||
无效 | |||||||||||
整型 | |||||||||||
RemoteViews | |||||||||||
查看 | |||||||||||
查看 |
getView()
|
||||||||||
static int | |||||||||||
CardBuilder |
setAttributionIcon(Bitmap iconBitmap)
|
||||||||||
CardBuilder |
setAttributionIcon(Drawable iconDrawable)
|
||||||||||
CardBuilder |
setAttributionIcon(int iconId)
|
||||||||||
CardBuilder | |||||||||||
CardBuilder | |||||||||||
CardBuilder |
setFootnote(int footnoteId)
|
||||||||||
CardBuilder | |||||||||||
CardBuilder | |||||||||||
CardBuilder | |||||||||||
CardBuilder | |||||||||||
CardBuilder |
setIcon(int iconId)
|
||||||||||
CardBuilder |
setSub title(CharSequence 子标题)
|
||||||||||
CardBuilder |
setSubheadline(int subheaderId)
|
||||||||||
CardBuilder |
setText(int textId)
|
||||||||||
CardBuilder |
setText(CharSequence 文本)
|
||||||||||
CardBuilder |
setTimestamp(CharSequence 时间戳)
|
||||||||||
CardBuilder |
setTimestamp(int timestampId)
|
||||||||||
CardBuilder |
showStackIndicator(布尔值可见)
|
继承的方法 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
公共构造函数
public CardBuilder (Context context, CardBuilder.Layout layout)
构造一个新的 CardBuilder
。
参数
上下文 | Context ,可供构建器用于创建其视图。 |
---|---|
布局 | 所需的卡片布局 |
公共方法
public CardBuilder addImage (Drawable imageDrawable)
向卡片添加一张图片,并以 Drawable
的形式指定。
此方法仅适用于使用 getView()
转换为视图的卡片。由 CardBuilder
构建的 RemoteViews
仅支持 Bitmap
和基于资源的映像。不支持RemoteViews
上的Drawable
图片。
参数
imageDrawable | 要添加的 Drawable 图片 |
---|
返回
- 此对象用于调用链
public CardBuilder addImage (Bitmap imageBitmap)
public CardBuilder addImage (int imageId)
向卡片添加被指定为可绘制资源的图片。
参数
imageId | 要添加的图片的资源 ID |
---|
返回
- 此对象用于调用链
public void clearImages ()
清除之前添加到卡片中的所有图片。
public int getItemViewType ()
返回此特定卡片的视图类型。
与适配器结合使用会很有用。请参阅 getItemViewType(int)
。
public View getView (View conversionView, ViewGroup parent)
返回此卡片的 View
表示形式。
与适配器结合使用会很有用。请参阅getView(int, View, ViewGroup)
。
参数
conversionView | 尽可能重复使用的旧视图;可能为 null
注意:如果此视图的类型不正确,此方法会创建一个新视图 |
---|---|
父级 | 该视图最终会附加到的视图,可能是 null
|
public static int getViewTypeCount ()
返回卡片可以采用的视图类型总数。
与适配器结合使用会很有用。请参阅 getViewTypeCount()
。
public CardBuilder setAttributionIcon (Bitmap iconBitmap)
public CardBuilder setAttributionIcon (Drawable iconDrawable)
使用 Drawable
设置卡片的归因图标。
此方法仅适用于使用 getView()
转换为视图的卡片。由 CardBuilder
构建的 RemoteViews
仅支持 Bitmap
和基于资源的映像。不支持RemoteViews
上的Drawable
图片。
参数
iconDrawable | 要用作归因图标的 Drawable |
---|
返回
- 此对象用于调用链
public CardBuilder setAttributionIcon (int iconId)
使用可绘制资源为卡片设置归因图标。
参数
iconId | 要用作归因图标的资源 ID |
---|
返回
- 此对象用于调用链
public CardBuilder setEmbedLayout (int layoutResId)
设置要嵌入卡片的布局的资源 ID。
参数
layoutResId | 要嵌入卡片的布局的资源 ID |
---|
返回
- 此对象用于调用链
public CardBuilder setFootnote (CharSequence 脚注)
设置卡片的脚注文本。
参数
脚注 | 此卡片的脚注文本 |
---|
返回
- 此对象用于调用链
public CardBuilder setFootnote (int footnoteId)
使用字符串资源设置卡片的脚注文本。
参数
footnoteId | 此卡片的脚注文本资源 ID |
---|
返回
- 此对象用于调用链
public CardBuilder setHeading (CharSequence 标题)
设置卡片的标题文字。
参数
标题 | 此卡片的标题文字 |
---|
返回
- 此对象用于调用链
public CardBuildersetHeading (int headId)
使用字符串资源设置卡片的标题文本。
参数
标题 ID | 此卡片的标题文本资源 ID |
---|
返回
- 此对象用于调用链
public CardBuilder setIcon (Bitmap iconBitmap)
public CardBuilder setIcon (Drawable iconDrawable)
使用 Drawable
设置卡的图标。
此方法仅适用于使用 getView()
转换为视图的卡片。由 CardBuilder
构建的 RemoteViews
仅支持 Bitmap
和基于资源的映像。不支持RemoteViews
上的Drawable
图片。
参数
iconDrawable | 要用作图标的 Drawable |
---|
返回
- 此对象用于调用链
public CardBuilder setIcon (int iconId)
使用可绘制资源为卡片设置图标。
参数
iconId | 要用作图标的资源 ID |
---|
返回
- 此对象用于调用链
public CardBuilder setSubheadline (CharSequence 子标题)
设置卡片的子标题文字。
参数
子标题 | 此卡片的子标题文字 |
---|
返回
- 此对象用于调用链
public CardBuilder setSubheader (int subheaderId)
使用字符串资源设置卡片的子标题文本。
参数
子标题 ID | 此卡片的子标题文本资源 ID |
---|
返回
- 此对象用于调用链
public CardBuilder setText (int textId)
使用字符串资源设置卡片的主要文本。
参数
textId | 此卡片的主要文本资源 ID |
---|
返回
- 此对象用于调用链
public CardBuilder setText (CharSequence 文本)
设置卡片的主要文字。
参数
文本 | 此卡片的主要文字 |
---|
返回
- 此对象用于调用链
public CardBuilder setTimestamp (CharSequence timestamp)
设置卡片的时间戳文本。
参数
时间戳 | 此卡片的时间戳文本 |
---|
返回
- 此对象用于调用链
public CardBuilder setTimestamp (int timestampId)
使用字符串资源设置卡片的时间戳文本。
参数
timestampId | 此卡片的时间戳文本资源 ID |
---|
返回
- 此对象用于调用链
public CardBuilder showStackIndicator (布尔值可见)
如果 visible
为 true,则表示此卡片表示一堆卡片,而不是一张卡片。
参数
显示 | true 显示堆栈指示器,或 false 显示堆栈指示器 |
---|
返回
- 此对象用于调用链