CardBuilder

在 API 级别 XE21 中引入

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

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

常规用法

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

嵌入式布局的回收说明

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

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

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

嵌套类
枚举 CardBuilder.Layout 定义卡片的视觉布局。
公共构造函数
CardBuilderContext 上下文,CardBuilder.Layout 布局)
公共方法
CardBuilder
addImage(可绘制 imageDrawable)
CardBuilder
addImage(Bitmap imageBitmap)
CardBuilder
addImage(int imageId)
void
整型
RemoteViews
查看
getView(View transformView, ViewGroup 父级)
查看
static int
CardBuilder
CardBuilder
CardBuilder
setAttributionIcon(int iconId)
CardBuilder
setEmbeddedLayout(int layoutResId)
CardBuilder
CardBuilder
setFootnote(intfooterId)
CardBuilder
setHeading(CharSequence 标题)CharSequence
CardBuilder
setHeading(int headingId)
CardBuilder
setIcon(Bitmap iconBitmap)
CardBuilder
setIcon(可绘制 iconDrawable)
CardBuilder
setIcon(int iconId)
CardBuilder
setSubheading(CharSequence 子标题)CharSequence
CardBuilder
setSubheading(int subheadingId)
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 getItemViewType ()

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

与适配器结合使用时十分有用。 请参阅 getItemViewType(int)

在 API 级别 XE21 中添加

public RemoteViews getRemoteViews ()

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

在 API 级别 XE21 中添加

public View getView (View transformView, ViewGroup parent)

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

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

参数
convertView 可供重复使用的旧视图(如果可能);可以是 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 setEmbeddedLayout (int layoutResId)

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

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

publicCardBuilder setFootnote CharSequence 脚注)

设置卡片的脚注文本。

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

public CardBuilder setFootnote (intfooterId)

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

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

public CardBuilder setHeading (CharSequence heading)

设置卡片的标题文本。

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

public CardBuilder setHeading (int headingId)

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

参数
headingId 此卡片的标题文本资源 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 setSubheading CharSequence 子标题)

设置卡片的子标题文本。

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

public CardBuilder setSubheading (int subheadingId)

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

参数
subheadingId 此卡片的子标题文本资源 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 (boolean visible)

如果 visible 为 true,则显示一个指示符,以表示此卡片代表一叠卡片,而不是单张卡片。

参数
可见 true 以显示堆叠指示器,或 false 来隐藏堆叠指示器
返回
  • 此对象(用于调用链)