ESP32 使用LVGL8.3 Spinner控件

  1. 前言

esp32环境下使用lvgl的Spinner环形加载器控件,关于lvgl的移植网上已经有很多的教程,可以参考下面的链接:

【esp32&lvgl】-2.2 # esp32移植lvgl8驱动st7789屏幕(ESP-IDF框架)

  1. 创建spinner

2.1 函数lv_spinner_create创建一个环形器,lv_style_set_arc_color配置圆弧的颜色,lv_style_set_arc_width设置圆弧arc的宽度,lv_obj_add_style将创建的圆弧样式添加到spinner中,如果不配置圆弧样式,spinner将是默认的样式。演示代码如下,效果如第3节所示:

void create_preloader_demo(){

    //lv_arc_set_angles
    static lv_style_t style;                     //创建样式
    static lv_style_t bc_style;

    lv_style_init(&style);                       //初始化样式
    lv_style_set_arc_color(&style, lv_palette_main(LV_PALETTE_RED)); //设置圆弧颜色
    lv_style_set_arc_width(&style, 20);            //设置圆弧宽度;

    lv_style_init(&bc_style);                       //初始化样式
    lv_style_set_arc_color(&bc_style, lv_palette_main(LV_PALETTE_YELLOW)); //设置背景圆环颜色
    lv_style_set_arc_width(&bc_style, 20);        //设置背景圆环宽度

    lv_obj_t * preload = lv_spinner_create(lv_scr_act(), 1000, 45);

    lv_obj_add_style(preload, &style, LV_PART_INDICATOR);//应用到圆弧部分;
    lv_obj_add_style(preload, &bc_style, LV_PART_MAIN);//应用到背景圆环部分;

    //lv_obj_t * preload = lv_spinner_create(lv_scr_act(),1000,100);
    lv_obj_set_size(preload, 200, 200);
    lv_obj_align(preload, LV_ALIGN_CENTER, 0, 0);
    //lv_obj_center(preload);

}
  1. 实现效果

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Spinner控件是一个下拉列表框,它允许用户从预定义的选项中选择一个值。可以使用ArrayAdapter或CursorAdapter设置Spinner的选项。以下是Spinner的一种使用方法: 1. 在XML布局文件中定义Spinner控件: ``` <Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/planets_array" /> ``` 2. 在Java代码中获取Spinner控件的引用,设置适配器和监听器: ``` Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { String item = parent.getItemAtPosition(position).toString(); Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); ``` 3. 在res/values/strings.xml文件中定义Spinner选项: ``` <resources> <string-array name="planets_array"> <item>Mercury</item> <item>Venus</item> <item>Earth</item> <item>Mars</item> <item>Jupiter</item> <item>Saturn</item> <item>Uranus</item> <item>Neptune</item> </string-array> </resources> ``` 以上就是Android Spinner控件的一种使用方法,可以根据具体需求进行适当调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值