CardBuilder 类有助于构建具有各种布局的 Glass 主题卡片。
如需了解详情并查看示例代码,请参阅创建 Glass 样式的卡片。
常规用法
- 创建一个
CardBuilder对象,将所需的CardBuilder.Layout传递给构造函数。 - 使用
add/set*系列方法设置卡片上的内容。 - 通过调用
getView()获取View,或使用getRemoteViews()获取RemoteViews对象。
嵌入式布局的回收说明
如果使用EMBED_INSIDE,CardBuilder 在回收视图时不会区分不同的嵌入式布局。如果您有两个具有 EMBED_INSIDE 的 CardBuilder 实例,但其中一个具有布局 A,另一个具有布局 B,CardBuilder 会将其视为相同。
如果不希望出现这种行为(例如,在将 CardScrollAdapter 与不同的嵌入式布局搭配使用时),您必须通过从 getItemViewType(int) 返回不同的视图类型来区分它们,以便回收器仅向您发送包含特定项预期具有的嵌套布局的 convertView。
如果您需要同时支持带有多个嵌入式布局和内置布局的卡片,我们建议您返回编号为 getViewTypeCount()、CardBuilder.getViewTypeCount() + 1 等的视图类型。
| 嵌套类 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 枚举 | CardBuilder.Layout | 定义卡片的视觉布局。 | |||||||||
| 公共构造函数 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 公共方法 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| CardBuilder | |||||||||||
| CardBuilder | |||||||||||
| CardBuilder |
addImage(int imageId)
|
||||||||||
| void | |||||||||||
| 整型 | |||||||||||
| RemoteViews | |||||||||||
| 查看 | |||||||||||
| 查看 |
getView()
|
||||||||||
| static int | |||||||||||
| CardBuilder |
setAttributionIcon(Bitmap iconBitmap)
|
||||||||||
| CardBuilder |
setAttributionIcon(Drawable iconDrawable)
|
||||||||||
| CardBuilder |
setAttributionIcon(int iconId)
|
||||||||||
| CardBuilder |
setEmbeddedLayout(int layoutResId)
|
||||||||||
| CardBuilder | |||||||||||
| CardBuilder |
setFootnote(intfooterId)
|
||||||||||
| CardBuilder |
setHeading(CharSequence 标题)CharSequence
|
||||||||||
| CardBuilder |
setHeading(int headingId)
|
||||||||||
| CardBuilder | |||||||||||
| CardBuilder | |||||||||||
| CardBuilder |
setIcon(int iconId)
|
||||||||||
| CardBuilder |
setSubheading(CharSequence 子标题)CharSequence
|
||||||||||
| CardBuilder |
setSubheading(int subheadingId)
|
||||||||||
| 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 View getView (View transformView, ViewGroup parent)
返回此卡片的 View 表示形式。
与适配器结合使用时十分有用。
请参阅getView(int, View, ViewGroup)。
参数
| convertView | 可供重复使用的旧视图(如果可能);可以是 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 setEmbeddedLayout (int layoutResId)
设置要嵌入到卡片中的布局的资源 ID。
参数
| layoutResId | 要嵌入到卡片中的布局的资源 ID |
|---|
返回
- 此对象(用于调用链)
publicCardBuilder setFootnote (CharSequence 脚注)
设置卡片的脚注文本。
参数
| 脚注 | 此卡片的脚注文本 |
|---|
返回
- 此对象(用于调用链)
public CardBuilder setFootnote (intfooterId)
使用字符串资源设置卡片的脚注文本。
参数
| footnoteId | 此卡片的脚注文本资源 ID |
|---|
返回
- 此对象(用于调用链)
public CardBuilder setHeading (CharSequence heading)
设置卡片的标题文本。
参数
| 标题 | 此卡片的标题文本 |
|---|
返回
- 此对象(用于调用链)
public CardBuilder setHeading (int headingId)
使用字符串资源设置卡片的标题文本。
参数
| headingId | 此卡片的标题文本资源 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 setSubheading (CharSequence 子标题)
设置卡片的子标题文本。
参数
| 子标题 | 此卡片的副标题文本 |
|---|
返回
- 此对象(用于调用链)
public CardBuilder setSubheading (int subheadingId)
使用字符串资源设置卡片的子标题文本。
参数
| subheadingId | 此卡片的子标题文本资源 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 (boolean visible)
如果 visible 为 true,则显示一个指示符,以表示此卡片代表一叠卡片,而不是单张卡片。
参数
| 可见 | true 以显示堆叠指示器,或 false 来隐藏堆叠指示器 |
|---|
返回
- 此对象(用于调用链)