LittlevGL for ESP32 - This is Amazing!

Hello LittlevGL community!

I’ve been playing all day with this amazing resource. Thankyou so much!!
My project reads MIDI files from an SD card, plays the audio through a speaker and lights up a programmable LED string with each separate note played. I can speed up, slow down, transpose etc… Time to add a screen!!!
LittlevGL can hopefully provide a beautiful menu system and user interface through my TFT screen.

The ESP32 example you provide works great, It’s early days for me and if there are any simple code examples out there of multiple page menu systems and switching between these I would love to be pointed in their direction. :slight_smile:




We are working on new examples for LittlevGL and talk about it in this issue. Feel free to comment there and tell your idea. Some sketches would be great to see better what you exactly mean.

The Android like menu seems similar to what you have described.

I would also recommend that you have a look at the documentation - in particular the tabview and tileview.

1 Like

Thanks for the pointers, these two links look fantastic! I’ll get stuck in!

I’m making great progress with LittlevGL, loving the tool, thanks so much for all your hard work!

Currently working out how to structure my code to enable my different “pages” and the navigation between them:

  • Home
  • Settings
  • Search
  • Search Results
  • Browse All
  • Play

Is it possible to disable the swiping navigation between tiles with TileView and instead use button clicks on each tile to navigate between tiles using lv_tileview_set_tile_act?

***EDIT Probably want to hide those scrollbars on the sides too…

@flossandmeditate There isn’t an API to do it right now. However, since under the hood the tileview is actually a glorified lv_page, you can disable the ability to scroll the tileview by disabling the ability to scroll the page, which (I think) can be done like this:

lv_obj_set_drag_dir(lv_page_get_scrl(tileview), 0); /* Don't allow dragging in any direction */

My idea was lv_obj_set_drag(lv_page_get_scrl(tileview), false); but it wouldn’t work if the tile view is dragged by a button on it. Your solution should work well!

1 Like

I’m confused. If we both have the same idea, then why does mine work but yours doesn’t?

Ah, sorry, Ctrl+C, Ctrl+V issue… I updates my comment

I’m continuing to have great results with ESP32 and LittlevGL.
Tileview is going to work great for my multipage GUI.

Q - Is it possible to remove the scrollbar in tileview?

You should be able to make it invisible by customizing the scrollbar style (set style.body.opa to LV_OPA_TRANSP).

You can use lv_page_set_sb_mode(tileview, LV_SB_MODE_OFF);

Ther should be a lv_tielview_set_sb_mode(); function but it’s missing now. :frowning:

1 Like