1# Tile view (lv_tileview)
2
3## Overview
4
5The Tile view is a container object whose elements (called *tiles*) can be arranged in grid form.
6A user can navigate between the tiles by swiping.
7Any direction of swiping can be disabled on the tiles individually to not allow moving from one tile to another.
8
9If the Tile view is screen sized, the user interface resembles what you may have seen on smartwatches.
10
11## Parts and Styles
12The Tile view is built from an [lv_obj](/widgets/obj) container and [lv_obj](/widgets/obj) tiles.
13
14The parts and styles work the same as for [lv_obj](/widgets/obj).
15
16## Usage
17
18### Add a tile
19
20`lv_tileview_add_tile(tileview, row_id, col_id, dir)` creates a new tile on the `row_id`th row and `col_id`th column.
21`dir` can be `LV_DIR_LEFT/RIGHT/TOP/BOTTOM/HOR/VER/ALL` or OR-ed values to enable moving to the adjacent tiles into the given direction by swiping.
22
23The returned value is an `lv_obj_t *` on which the content of the tab can be created.
24
25### Change tile
26The Tile view can scroll to a tile with `lv_obj_set_tile(tileview, tile_obj, LV_ANIM_ON/OFF)` or `lv_obj_set_tile_id(tileviewv, col_id, row_id, LV_ANIM_ON/OFF);`
27
28
29## Events
30- `LV_EVENT_VALUE_CHANGED` Sent when a new tile loaded by scrolling. `lv_tileview_get_tile_act(tabview)` can be used to get current tile.
31
32## Keys
33*Keys* are not handled by the Tile view.
34
35Learn more about [Keys](/overview/indev).
36
37## Example
38
39
40```eval_rst
41
42.. include:: ../../../examples/widgets/tileview/index.rst
43
44```
45
46
47## API
48
49```eval_rst
50
51.. doxygenfile:: lv_tileview.h
52  :project: lvgl
53
54```
55