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 来隐藏堆叠指示器 |
---|
返回
- 此对象(用于调用链)