1.LVGLGUIスイッチ制御の概念
スイッチを使用して、何かをオン/オフにすることができます。小さなスライダーのように見えます。
2.LVGLGUIスイッチのウィジェットとスタイル
スイッチは次の部品を使用します。
- LV_SWITCH_PART_BG:主要部分
- LV_SWITCH_PART_INDIC:インジケーター(仮想パーツ)
- LV_SWITCH_PART_KNOB:ノブ(仮想パーツ)
3.LVGLGUIスイッチコントロールの使用
1.状態を変更します
この機能を使用して、スイッチlv_switch_on(switch、LV_ANIM_ON / OFF)をオンにします。
この関数でスイッチをオフにしますlv_switch_off(switch、LV_ANIM_ON / OFF)
この関数を使用してスイッチの状態を切り替えますlv_switch_toggle(switch、LV_ANOM_ON / OFF)
2.アニメーション時間
この関数lv_switch_set_anim_time(switch、anim_time)を使用して、スイッチ切り替えアニメーションを設定し、実験します
void lvgl_switch_ani_test(void)
{
/*Create a switch and apply the styles*/
lv_obj_t* sw1 = lv_switch_create(lv_scr_act(), NULL);
lv_obj_align(sw1, NULL, LV_ALIGN_CENTER, 0, -50);
lv_obj_t* sw2 = lv_switch_create(lv_scr_act(), sw1);
lv_switch_on(sw2, LV_ANIM_ON);
lv_obj_align(sw2, NULL, LV_ALIGN_CENTER, 0, 50);
lv_switch_set_anim_time(sw2,2000);
}
3.イベント
基本的なイベントに加えて、この特別なイベントがあります
LV_EVENT_VALUE_CHANGED スイッチの状態が変化したときに送信されます。
コード実験を書く
static void switch_event_test_handler(lv_obj_t* obj, lv_event_t event)
{
if (event == LV_EVENT_VALUE_CHANGED) {
printf("State: %s\n", lv_switch_get_state(obj) ? "On" : "Off");
}
}
void lvgl_switch_event_test(void)
{
/*Create a switch and apply the styles*/
lv_obj_t* sw1 = lv_switch_create(lv_scr_act(), NULL);
lv_obj_set_pos(sw1,10,10);
lv_obj_set_event_cb(sw1, switch_event_test_handler);
}
さて、それは終わった、もっとエキサイティングな突っ込みを続ける↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓