7
7
* [ Device targeting] ( #device-targeting )
8
8
* [ Configuration fields] ( #configuration-fields )
9
9
* [ Event listeners] ( #event-listeners )
10
+ * [ Resource caching] ( #resource-caching )
10
11
* [ Custom views] ( #custom-views )
11
12
* [ Supported attributes] ( #supported-attributes )
12
13
* [ View] ( #view )
183
184
}
184
185
```
185
186
187
+ ### Resource caching
188
+
189
+ ``` json
190
+ {
191
+ "class" :" android.widget.ImageView" ,
192
+ "attributes" :{
193
+ "cache" :" TRUE | FALSE"
194
+ }
195
+ }
196
+ ```
197
+
186
198
### Custom views
187
199
188
200
``` json
@@ -243,17 +255,19 @@ Parent of all other views. Every view inherits attributes from this.
243
255
"pivotY" :" float" ,
244
256
"x" :" float" ,
245
257
"y" :" float" ,
246
- "clickable" :" true | false " ,
258
+ "clickable" :" TRUE | FALSE " ,
247
259
"background" :" resource_url" ,
260
+ "onClick" :" event_listener" ,
261
+ "conditions" :" device_targets" ,
248
262
"layout_weight" :" float" ,
249
263
"layout_gravity" :" START | END | TOP | BOTTOM | CENTER | CENTER_HORIZONTAL | CENTER_VERTICAL" ,
250
- "center_horizontal" :" true | false " ,
251
- "center_vertical" :" true | false " ,
252
- "center_in_parent" :" true | false " ,
253
- "align_parent_start" :" true | false " ,
254
- "align_parent_top" :" true | false " ,
255
- "align_parent_end" :" true | false " ,
256
- "align_parent_bottom" :" true | false " ,
264
+ "center_horizontal" :" TRUE | FALSE " ,
265
+ "center_vertical" :" TRUE | FALSE " ,
266
+ "center_in_parent" :" TRUE | FALSE " ,
267
+ "align_parent_start" :" TRUE | FALSE " ,
268
+ "align_parent_top" :" TRUE | FALSE " ,
269
+ "align_parent_end" :" TRUE | FALSE " ,
270
+ "align_parent_bottom" :" TRUE | FALSE " ,
257
271
"layout_above" :" view_id" ,
258
272
"layout_below" :" view_id" ,
259
273
"layout_alignStart" :" view_id" ,
@@ -262,7 +276,7 @@ Parent of all other views. Every view inherits attributes from this.
262
276
"layout_alignBottom" :" view_id" ,
263
277
"layout_alignBaseline" :" view_id" ,
264
278
"layout_toStartOf" :" view_id" ,
265
- "layout_toEndOf" :" view_id"
279
+ "layout_toEndOf" :" view_id" ,
266
280
}
267
281
}
268
282
```
@@ -280,11 +294,11 @@ Inherits everything from View.
280
294
"gravity" :" START | END | TOP | BOTTOM | CENTER | CENTER_HORIZONTAL | CENTER_VERTICAL" ,
281
295
"horizontalGravity" :" START | END | TOP | BOTTOM | CENTER | CENTER_HORIZONTAL | CENTER_VERTICAL" ,
282
296
"verticalGravity" :" START | END | TOP | BOTTOM | CENTER | CENTER_HORIZONTAL | CENTER_VERTICAL" ,
283
- "showDividers" :" SHOW_DIVIDER_BEGINNING | SHOW_DIVIDER_MIDDLE | SHOW_DIVIDER_END | SHOW_DIVIDER_NONE " ,
297
+ "showDividers" :" BEGINNING | MIDDLE | END | NONE " ,
284
298
"dividerDrawable" :" resource_url" ,
285
299
"dividerPadding" :" units" ,
286
- "baselineAligned" :" true | false " ,
287
- "measureWithLargestChildEnabled" :" true | false " ,
300
+ "baselineAligned" :" TRUE | FALSE " ,
301
+ "measureWithLargestChildEnabled" :" TRUE | FALSE " ,
288
302
"baselineAlignedChildIndex" :" int"
289
303
}
290
304
}
@@ -314,7 +328,7 @@ Inherits everything from View.
314
328
{
315
329
"class" :" android.widget.FrameLayout" ,
316
330
"attributes" :{
317
- "measureAllChildren" :" true | false " ,
331
+ "measureAllChildren" :" TRUE | FALSE " ,
318
332
"foregroundGravity" :" START | END | TOP | BOTTOM | CENTER | CENTER_HORIZONTAL | CENTER_VERTICAL"
319
333
}
320
334
}
@@ -332,9 +346,9 @@ Inherits everything from View.
332
346
"orientation" :" VERTICAL | HORIZONTAL" ,
333
347
"columnCount" :" int" ,
334
348
"rowCount" :" int" ,
335
- "columnOrderPreserved" :" true | false " ,
336
- "rowOrderPreserved" :" true | false " ,
337
- "useDefaultMargins" :" true | false "
349
+ "columnOrderPreserved" :" TRUE | FALSE " ,
350
+ "rowOrderPreserved" :" TRUE | FALSE " ,
351
+ "useDefaultMargins" :" TRUE | FALSE "
338
352
}
339
353
}
340
354
```
@@ -347,9 +361,9 @@ Inherits everything from FrameLayout.
347
361
{
348
362
"class" :" android.widget.ScrollView" ,
349
363
"attributes" :{
350
- "fillViewport" :" true | false " ,
351
- "smoothScrollingEnabled" :" true | false " ,
352
- "overScrollMode" :" OVER_SCROLL_ALWAYS | OVER_SCROLL_NEVER | OVER_SCROLL_IF_CONTENT_SCROLLS "
364
+ "fillViewport" :" TRUE | FALSE " ,
365
+ "smoothScrollingEnabled" :" TRUE | FALSE " ,
366
+ "overScrollMode" :" ALWAYS | NEVER | IF_CONTENT_SCROLLS "
353
367
}
354
368
}
355
369
```
@@ -363,16 +377,67 @@ Inherits everything from View.
363
377
"class" :" android.widget.TextView" ,
364
378
"attributes" :{
365
379
"text" :" string" ,
380
+ "error" :" string" ,
381
+ "hint" :" string" ,
382
+ "textKeepState" :" string" ,
366
383
"textSize" :" units" ,
367
384
"textColor" :" hex_value | color_name" ,
385
+ "hintTextColor" :" hex_value | color_name" ,
386
+ "linkTextColor" :" hex_value | color_name" ,
387
+ "highlightColor" :" hex_value | color_name" ,
388
+ "singleLine" :" TRUE | FALSE" ,
368
389
"textStyle" :" NORMAL | BOLD | ITALIC | BOLD_ITALIC" ,
369
390
"gravity" :" START | END | TOP | BOTTOM | CENTER | CENTER_HORIZONTAL | CENTER_VERTICAL" ,
370
391
"ellipsize" :" START | MIDDLE | END | MARQUEE | END_SMALL" ,
371
- "hint" :" string"
372
- }
392
+ "allCaps" :" TRUE | FALSE" ,
393
+ "cursorVisible" :" TRUE | FALSE" ,
394
+ "enabled" :" TRUE | FALSE" ,
395
+ "freezesText" :" TRUE | FALSE" ,
396
+ "horizontallyScrolling" :" TRUE | FALSE" ,
397
+ "includeFontPadding" :" TRUE | FALSE" ,
398
+ "linksClickable" :" TRUE | FALSE" ,
399
+ "selectAllOnFocus" :" TRUE | FALSE" ,
400
+ "selected" :" TRUE | FALSE" ,
401
+ "textIsSelectable" :" TRUE | FALSE" ,
402
+ "privateImeOptions" :" string" ,
403
+ "textScaleX" :" float" ,
404
+ "width" :" units" ,
405
+ "maxWidth" :" units" ,
406
+ "minWidth" :" units" ,
407
+ "height" :" units" ,
408
+ "maxHeight" :" units" ,
409
+ "minHeight" :" units" ,
410
+ "lines" :" int" ,
411
+ "maxLines" :" int" ,
412
+ "minLines" :" int" ,
413
+ "ems" :" int" ,
414
+ "maxEms" :" int" ,
415
+ "minEms" :" int" ,
416
+ "compoundDrawablePadding" :" units" ,
417
+ "onKey" :" event_listener" ,
418
+ "textLocale" :" ENGLISH | FRENCH | GERMAN | ITALIAN | JAPANESE | KOREAN | CHINESE | SIMPLIFIED_CHINESE | TRADITIONAL_CHINESE | FRANCE | GERMANY | ITALY | JAPAN | KOREA | UK | US | CANADA | CANADA_FRENCH" ,
419
+ "imeOptions" :" DONE | GO | NEXT | NONE | PREVIOUS | SEARCH | SEND | UNSPECIFIED" ,
420
+ "inputType" :" CLASS_TEXT | CLASS_DATETIME | CLASS_NUMBER | CLASS_PHONE | DATETIME_VARIATION_DATE | DATETIME_VARIATION_NORMAL | DATETIME_VARIATION_TIME | MASK_CLASS | MASK_FLAGS | MASK_VARIATION | NULL | NUMBER_FLAG_DECIMAL | NUMBER_FLAG_SIGNED | NUMBER_VARIATION_NORMAL | NUMBER_VARIATION_PASSWORD | TEXT_FLAG_AUTO_COMPLETE | TEXT_FLAG_AUTO_CORRECT | TEXT_FLAG_CAP_CHARACTERS | TEXT_FLAG_CAP_SENTENCES | TEXT_FLAG_CAP_WORDS | TEXT_FLAG_IME_MULTI_LINE | TEXT_FLAG_MULTI_LINE | TEXT_FLAG_NO_SUGGESTIONS | TEXT_VARIATION_EMAIL_ADDRESS | TEXT_VARIATION_EMAIL_SUBJECT | TEXT_VARIATION_FILTER | TEXT_VARIATION_LONG_MESSAGE | TEXT_VARIATION_NORMAL | TEXT_VARIATION_PASSWORD | TEXT_VARIATION_PERSON_NAME | TEXT_VARIATION_PHONETIC | TEXT_VARIATION_POSTAL_ADDRESS | TEXT_VARIATION_SHORT_MESSAGE | TEXT_VARIATION_URI | TEXT_VARIATION_VISIBLE_PASSWORD | TEXT_VARIATION_WEB_EDIT_TEXT | TEXT_VARIATION_WEB_EMAIL_ADDRESS | TEXT_VARIATION_WEB_PASSWORD" ,
421
+ "rawInputType" :" CLASS_TEXT | CLASS_DATETIME | CLASS_NUMBER | CLASS_PHONE | DATETIME_VARIATION_DATE | DATETIME_VARIATION_NORMAL | DATETIME_VARIATION_TIME | MASK_CLASS | MASK_FLAGS | MASK_VARIATION | NULL | NUMBER_FLAG_DECIMAL | NUMBER_FLAG_SIGNED | NUMBER_VARIATION_NORMAL | NUMBER_VARIATION_PASSWORD | TEXT_FLAG_AUTO_COMPLETE | TEXT_FLAG_AUTO_CORRECT | TEXT_FLAG_CAP_CHARACTERS | TEXT_FLAG_CAP_SENTENCES | TEXT_FLAG_CAP_WORDS | TEXT_FLAG_IME_MULTI_LINE | TEXT_FLAG_MULTI_LINE | TEXT_FLAG_NO_SUGGESTIONS | TEXT_VARIATION_EMAIL_ADDRESS | TEXT_VARIATION_EMAIL_SUBJECT | TEXT_VARIATION_FILTER | TEXT_VARIATION_LONG_MESSAGE | TEXT_VARIATION_NORMAL | TEXT_VARIATION_PASSWORD | TEXT_VARIATION_PERSON_NAME | TEXT_VARIATION_PHONETIC | TEXT_VARIATION_POSTAL_ADDRESS | TEXT_VARIATION_SHORT_MESSAGE | TEXT_VARIATION_URI | TEXT_VARIATION_VISIBLE_PASSWORD | TEXT_VARIATION_WEB_EDIT_TEXT | TEXT_VARIATION_WEB_EMAIL_ADDRESS | TEXT_VARIATION_WEB_PASSWORD" ,
422
+ "autoLinkMask" :" ALL | EMAIL_ADDRESSES | MAP_ADDRESSES | PHONE_NUMBERS | WEB_URLS" ,
423
+ "marqueeRepeatLimit" :" int" ,
424
+ "letterSpacing" :" float" ,
425
+ "elegantTextHeight" :" TRUE | FALSE" ,
426
+ "showSoftInputOnFocus" :" TRUE | FALSE" ,
427
+ "fontFeatureSettings" :" string" ,
428
+ "compoundDrawableTintMode" :" CLEAR | SRC | DST | SRC_OVER | DST_OVER | SRC_IN | DST_IN | SRC_OUT | DST_OUT | SRC_ATOP | DST_ATOP | XOR | DARKEN | LIGHTEN | MULTIPLY | SCREEN | ADD | OVERLAY" ,
429
+ "hyphenationFrequency" :" NORMAL | FULL | NONE" ,
430
+ "breakStrategy" :" BALANCED | SIMPLE | HIGH_QUALITY" ,
431
+ "fontVariationSettings" :" string" ,
432
+ "autoSizeTextTypeWithDefaults" :" UNIFORM | NONE" ,
433
+ "justificationMode" :" INTER_WORD | NONE"
373
434
}
374
435
```
375
436
437
+ #### EditText
438
+
439
+ Inherits everything from TextView.
440
+
376
441
#### ImageView
377
442
378
443
Inherits everything from View.
@@ -382,15 +447,14 @@ Inherits everything from View.
382
447
"class" :" android.widget.ImageView" ,
383
448
"attributes" :{
384
449
"src" :" resource_url" ,
385
- "cache" :" true | false" ,
386
450
"scaleType" :" MATRIX | FIT_XY | FIT_START | FIT_CENTER | FIT_END | CENTER | CENTER_CROP | CENTER_INSIDE" ,
387
- "adjustViewBounds" :" true | false " ,
451
+ "adjustViewBounds" :" TRUE | FALSE " ,
388
452
"maxWidth" :" units" ,
389
453
"maxHeight" :" units" ,
390
454
"baseline" :" units" ,
391
- "baselineAlignBottom" :" true | false " ,
392
- "cropToPadding" :" true | false " ,
393
- "selected" :" true | false " ,
455
+ "baselineAlignBottom" :" TRUE | FALSE " ,
456
+ "cropToPadding" :" TRUE | FALSE " ,
457
+ "selected" :" TRUE | FALSE " ,
394
458
"imageAlpha" :" int" ,
395
459
"imageLevel" :" int" ,
396
460
"colorFilter" :" hex_value | color_name" ,
@@ -411,9 +475,10 @@ Inherits everything from Button.
411
475
{
412
476
"class" :" android.widget.CompoundButton" ,
413
477
"attributes" :{
414
- "checked" :" true | false " ,
478
+ "checked" :" TRUE | FALSE " ,
415
479
"buttonDrawable" :" resource_url" ,
416
- "onCheck" :" event_listener"
480
+ "onCheck" :" event_listener" ,
481
+ "buttonTintMode" :" CLEAR | SRC | DST | SRC_OVER | DST_OVER | SRC_IN | DST_IN | SRC_OUT | DST_OUT | SRC_ATOP | DST_ATOP | XOR | DARKEN | LIGHTEN | MULTIPLY | SCREEN | ADD | OVERLAY"
417
482
}
418
483
}
419
484
```
@@ -441,8 +506,10 @@ Inherits everything from CompoundButton.
441
506
"thumbTextPadding" :" units" ,
442
507
"thumbDrawable" :" resource_url" ,
443
508
"trackDrawable" :" resource_url" ,
444
- "showText" :" true | false" ,
445
- "splitTrack" :" true | false"
509
+ "showText" :" TRUE | FALSE" ,
510
+ "splitTrack" :" TRUE | FALSE" ,
511
+ "thumbTintMode" :" CLEAR | SRC | DST | SRC_OVER | DST_OVER | SRC_IN | DST_IN | SRC_OUT | DST_OUT | SRC_ATOP | DST_ATOP | XOR | DARKEN | LIGHTEN | MULTIPLY | SCREEN | ADD | OVERLAY" ,
512
+ "trackTintMode" :" CLEAR | SRC | DST | SRC_OVER | DST_OVER | SRC_IN | DST_IN | SRC_OUT | DST_OUT | SRC_ATOP | DST_ATOP | XOR | DARKEN | LIGHTEN | MULTIPLY | SCREEN | ADD | OVERLAY"
446
513
}
447
514
}
448
515
```
0 commit comments