7. UI SCREENSHOTS AND HIERARCHIES WITH SEMANTIC ANNOTATIONS
Contains 66k+ UI screens and hierarchies augmented with semantic annotations that describe what elements on the screen
mean and how they are used. These screens and hierarchies capture 24 UI component categories, 197 text button concepts, and 97 icon classes.
Semantic screenshots encode each component, button, and icon class with a unique color; the mapping between semantic concepts and their colors are given in three separate files, corresponding to
component categories (
component_legend.json),
{
"Web View": {
"rgb": [
66,
166,
246
],
"hex": "#42A5F5"
},
"List Item": {
"rgb": [
256,
225,
179
],
"hex": "#FFE0B2"
},
.
.
.
}
text button concepts (
textButton_legend.json),
{
"restore": {
"rgb": [
205,
219,
104
],
"hex": "#ccda68"
},
"all": {
"rgb": [
205,
219,
191
],
"hex": "#ccdabe"
},
.
.
.
}
and finally, icon classes (
icon_legend.json).
{
"shop": {
"rgb": [
20,
20,
20
],
"hex": "#141414"
},
"expand_less": {
"rgb": [
22,
22,
22
],
"hex": "#161616"
},
.
.
.
}
A few examples of UI screens and their semantic annotations are shown below.
For each screenshot, we also provide a corresponding UI hierarchy, which represents the semantic portion of the original view hierarchy. Each element in this hierarchy has a
componentLabel field corresponding to one of the 24 UI component categories. Elements that are classified as specific types of text buttons or icons also contain
textButtonClass or
iconClass fields, respectively.
{
.
.
.
{
"iconClass": "cart",
"resource-id": "com.mobile.android.patriots:id/action_shop",
"ancestors": [
"android.support.v7.widget.AppCompatTextView",
"android.widget.TextView",
"android.view.View",
"java.lang.Object"
],
"clickable": true,
"class": "android.support.v7.view.menu.ActionMenuItemView",
"bounds": [
1272,
98,
1440,
266
],
"componentLabel": "Icon"
}
.
.
.
{
"ancestors": [
"android.widget.LinearLayout",
"android.view.ViewGroup",
"android.view.View",
"java.lang.Object"
],
"class": "android.support.design.widget.TabLayout$TabView",
"bounds": [
90,
280,
342,
448
],
"clickable": true,
"componentLabel": "Text Button",
"textButtonClass": "all"
},
.
.
.
}