CardBuilder

此项为 API 级别 XE21 中的新增配置

CardBuilder 类有助于构建具有各种布局的 Glass 主题卡片。

如需了解详情和示例代码,请参阅创建 Glass 样式的卡片

常规用法

  1. 创建一个 CardBuilder 对象,将所需的 CardBuilder.Layout 传递给构造函数。
  2. 使用 add/set* 系列方法在卡片上设置内容。
  3. 通过调用 getView() 获取 View,或使用 getRemoteViews() 获取 RemoteViews 对象。

嵌入式布局的回收说明

使用 EMBED_INSIDE 时,在回收视图时,CardBuilder 不会区分不同的嵌入式布局。如果您有两个具有 EMBED_INSIDECardBuilder 实例,而一个实例具有布局 A,另一个实例具有布局 B,那么 CardBuilder 会将这两个实例视为相同实例。

如果不希望出现此行为(例如,在使用具有不同嵌入式布局的 CardScrollAdapter 时),您必须通过从 getItemViewType(int) 返回不同的视图类型来区分它们,以便 Recycler 仅向您发送具有您预期特定项的嵌套布局的 convertView

如果您需要支持内置多种布局且包含多种嵌入式布局的卡片,我们建议您返回编号为 getViewTypeCount()CardBuilder.getViewTypeCount() + 1 等的视图类型。

嵌套类
枚举 CardBuilder.Layout 定义卡片的视觉布局。
公共构造函数
CardBuilder上下文上下文、CardBuilder.Layout 布局)
公共方法
CardBuilder
addImage(Drawable imageDrawable)
CardBuilder
addImage(Bitmap imageBitmap)
CardBuilder
addImage(int imageId)
无效
整型
RemoteViews
查看
getView(View conversionView、ViewGroup parent)
查看
static int
CardBuilder
CardBuilder
CardBuilder
setAttributionIcon(int iconId)
CardBuilder
setSetLayout(int layoutResId)
CardBuilder
CardBuilder
setFootnote(int footnoteId)
CardBuilder
setHeadingCharSequence 标题)
CardBuilder
setHeading(整数标题)
CardBuilder
setIcon(Bitmap iconBitmap)
CardBuilder
setIcon(Drawable iconDrawable)
CardBuilder
setIcon(int iconId)
CardBuilder
setSub titleCharSequence 子标题)
CardBuilder
setSubheadline(int subheaderId)
CardBuilder
setText(int textId)
CardBuilder
setTextCharSequence 文本)
CardBuilder
setTimestampCharSequence 时间戳)
CardBuilder
setTimestamp(int timestampId)
CardBuilder
showStackIndicator(布尔值可见)
继承的方法

公共构造函数

在 API 级别 XE21 中添加

public CardBuilder (Context context, CardBuilder.Layout layout)

构造一个新的 CardBuilder

参数
上下文 Context,可供构建器用于创建其视图。
布局 所需的卡片布局

公共方法

在 API 级别 XE21 中添加

public CardBuilder addImage (Drawable imageDrawable)

向卡片添加一张图片,并以 Drawable 的形式指定。

此方法仅适用于使用 getView() 转换为视图的卡片。由 CardBuilder 构建的 RemoteViews 仅支持 Bitmap 和基于资源的映像。不支持RemoteViews上的Drawable图片。

参数
imageDrawable要添加的 Drawable 图片
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder addImage (Bitmap imageBitmap)

向卡片添加一张图片,并以 Bitmap 的形式指定。

参数
imageBitmap 要添加的 Bitmap 图片
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder addImage (int imageId)

向卡片添加被指定为可绘制资源的图片。

参数
imageId要添加的图片的资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public void clearImages ()

清除之前添加到卡片中的所有图片。

在 API 级别 XE21 中添加

public int getItemViewType ()

返回此特定卡片的视图类型。

与适配器结合使用会很有用。请参阅 getItemViewType(int)

在 API 级别 XE21 中添加

public RemoteViews getRemoteViews ()

返回此卡片的 RemoteViews 表示形式。

在 API 级别 XE21 中添加

public View getView (View conversionView, ViewGroup parent)

返回此卡片的 View 表示形式。

与适配器结合使用会很有用。请参阅getView(int, View, ViewGroup)

参数
conversionView尽可能重复使用的旧视图;可能为 null 注意:如果此视图的类型不正确,此方法会创建一个新视图
父级 该视图最终会附加到的视图,可能是 null
在 API 级别 XE21 中添加

public 查看 getView ()

返回此卡片的 View 表示形式。

在 API 级别 XE21 中添加

public static int getViewTypeCount ()

返回卡片可以采用的视图类型总数。

与适配器结合使用会很有用。请参阅 getViewTypeCount()

在 API 级别 XE22 中添加

public CardBuilder setAttributionIcon (Bitmap iconBitmap)

使用 Bitmap 设置卡片的归因图标。

参数
iconBitmap 要用作归因图标的 Bitmap
返回
  • 此对象用于调用链
在 API 级别 XE22 中添加

public CardBuilder setAttributionIcon (Drawable iconDrawable)

使用 Drawable 设置卡片的归因图标。

此方法仅适用于使用 getView() 转换为视图的卡片。由 CardBuilder 构建的 RemoteViews 仅支持 Bitmap 和基于资源的映像。不支持RemoteViews上的Drawable图片。

参数
iconDrawable 要用作归因图标的 Drawable
返回
  • 此对象用于调用链
在 API 级别 XE22 中添加

public CardBuilder setAttributionIcon (int iconId)

使用可绘制资源为卡片设置归因图标。

参数
iconId要用作归因图标的资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE22 中添加

public CardBuilder setEmbedLayout (int layoutResId)

设置要嵌入卡片的布局的资源 ID。

参数
layoutResId要嵌入卡片的布局的资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setFootnote (CharSequence 脚注)

设置卡片的脚注文本。

参数
脚注 此卡片的脚注文本
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setFootnote (int footnoteId)

使用字符串资源设置卡片的脚注文本。

参数
footnoteId此卡片的脚注文本资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setHeading CharSequence 标题)

设置卡片的标题文字。

参数
标题 此卡片的标题文字
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuildersetHeading (int headId)

使用字符串资源设置卡片的标题文本。

参数
标题 ID 此卡片的标题文本资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setIcon (Bitmap iconBitmap)

使用 Bitmap 为卡片设置图标。

参数
iconBitmap 要用作图标的 Bitmap
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setIcon (Drawable iconDrawable)

使用 Drawable 设置卡的图标。

此方法仅适用于使用 getView() 转换为视图的卡片。由 CardBuilder 构建的 RemoteViews 仅支持 Bitmap 和基于资源的映像。不支持RemoteViews上的Drawable图片。

参数
iconDrawable 要用作图标的 Drawable
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setIcon (int iconId)

使用可绘制资源为卡片设置图标。

参数
iconId要用作图标的资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setSubheadline CharSequence 子标题)

设置卡片的子标题文字。

参数
子标题 此卡片的子标题文字
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setSubheader (int subheaderId)

使用字符串资源设置卡片的子标题文本。

参数
子标题 ID 此卡片的子标题文本资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setText (int textId)

使用字符串资源设置卡片的主要文本。

参数
textId此卡片的主要文本资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setText CharSequence 文本)

设置卡片的主要文字。

参数
文本 此卡片的主要文字
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setTimestamp (CharSequence timestamp)

设置卡片的时间戳文本。

参数
时间戳 此卡片的时间戳文本
返回
  • 此对象用于调用链
在 API 级别 XE21 中添加

public CardBuilder setTimestamp (int timestampId)

使用字符串资源设置卡片的时间戳文本。

参数
timestampId此卡片的时间戳文本资源 ID
返回
  • 此对象用于调用链
在 API 级别 XE22 中添加

public CardBuilder showStackIndicator (布尔值可见)

如果 visible 为 true,则表示此卡片表示一堆卡片,而不是一张卡片。

参数
显示 true 显示堆栈指示器,或 false 显示堆栈指示器
返回
  • 此对象用于调用链