1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-21 06:53:01 +08:00
guoweilkd 1241fe144b
rename span interface (#2259)
Co-authored-by: guowei15 <guowei15@xiaomi.com>
2021-05-20 14:47:46 +02:00

2.4 KiB

.. include:: /header.rst 
:github_url: |github_link_base|/widgets/span.md

Span (lv_span)

Overview

A spangroup is the object that is used to display rich text. different from the label object, spangroup can automatically organize text of different fonts, colors, and sizes into the spangroup obj.

Parts and Styles

  • LV_PART_MAIN The spangroup has only the part.

Usage

Set text and style

spangroup object uses span to describe text and text style. so, first we need to create span descriptor use function lv_span_t * span = lv_spangroup_new_span(spangroup).then use lv_span_set_text(span, "text") to set text.The style of the modified text is the same as the normal style used,eg:lv_style_set_text_color(&span->style, lv_palette_main(LV_PALETTE_RED)).

If spangroup object mode != LV_SPAN_MODE_FIXED.You must call lv_spangroup_refr_mode() after you have modified span style(eg:set text, changed the font size, del span).

Text align

like label object, The spangroup can be one the following modes:

  • LV_TEXT_ALIGN_LEFT Align text to left.
  • LV_TEXT_ALIGN_CENTER Align text to center.
  • LV_TEXT_ALIGN_RIGHT Align text to right.
  • LV_TEXT_ALIGN_AUTO Align text auto.

use function lv_spangroup_set_align(spangroup, LV_TEXT_ALIGN_CENTER) to set text align.

Modes

The spangroup can be one the following modes:

  • LV_SPAN_MODE_FIXED fixed the obj size.
  • LV_SPAN_MODE_EXPAND Expand the object size to the text size. only one line.
  • LV_SPAN_MODE_BREAK Keep width, break the too long lines and auto expand height.

use function lv_spangroup_set_mode(spangroup, LV_SPAN_MODE_BREAK) to set obj mode.

Overflow

The spangroup can be one the following modes:

  • LV_SPAN_OVERFLOW_CLIP truncate the text at the limit of the area.
  • LV_SPAN_OVERFLOW_ELLIPSIS This mode value will display an ellipsis(...) when text overflow the area.

use function lv_spangroup_set_overflow(spangroup, LV_SPAN_OVERFLOW_CLIP) to set obj Overflow.

first line indent

use function lv_spangroup_set_indent(spangroup, 20) to set text indent of first line.

Events

No special events are sent by this widget.

Learn more about Events.

Keys

No Keys are processed by the object type.

Learn more about Keys.

Example


.. include:: ../../../examples/widgets/span/index.rst

API


.. doxygenfile:: lv_span.h
  :project: lvgl