杰理-编码器滑动时显示效果,不会直接闪烁

杰理-编码器滑动时显示效果,不会直接闪烁

主要实现

在这里插入图片描述

写了一个公共的onkey,用与所有界面编码器滑动和右侧的滑动条显示

在这里插入图片描述

int usr_set_gold_move_rdec(struct ui_grid * grid,u8 rdec_index)
{
    struct rect rect_start;
    struct rect rect_end;
    int start_diff_y=0, end_diff_y = 0;

    // G_log("-----------rdec_index = %d --",rdec_index);

    if(rdec_index){
        ui_core_get_element_abs_rect(&grid->item[(grid -> hi_index)].elm , &rect_start);
        if(grid -> hi_index < (grid->avail_item_num-1)){grid -> hi_index++;}
        // else{grid -> hi_index = 0;}
        ui_core_get_element_abs_rect(&grid->item[(grid -> hi_index)].elm , &rect_end);

        start_diff_y = 0-rect_start.top;
        end_diff_y = 0 - rect_end.top;
        // G_log("---start_diff_y = %d------------------end_diff_y = %d ",start_diff_y,end_diff_y);
        for(;start_diff_y>end_diff_y;start_diff_y-=25)
        {
            // G_log("-2222--start_diff_y = %d------------------end_diff_y = %d ",start_diff_y,end_diff_y);
            ui_grid_slide(grid , SCROLL_DIRECTION_UD , 25);
        }
    }else{
         ui_core_get_element_abs_rect(&grid->item[(grid -> hi_index)].elm , &rect_start);
        if(grid -> hi_index > 0){grid -> hi_index--;}
        // else{grid -> hi_index = (grid->avail_item_num-1);}
        ui_core_get_element_abs_rect(&grid->item[(grid -> hi_index)].elm , &rect_end);

        start_diff_y = 0-rect_start.top;
        end_diff_y = 0 - rect_end.top;
        // G_log("---start_diff_y = %d------------------end_diff_y = %d ",start_diff_y,end_diff_y);

        if(start_diff_y == end_diff_y)
        {
            ui_grid_slide(grid , SCROLL_DIRECTION_UD , -25);
            return true;
        }

        for(;start_diff_y<end_diff_y;start_diff_y+=25)
        {
            // G_log("-1111--start_diff_y = %d------------------end_diff_y = %d ",start_diff_y,end_diff_y);
            ui_grid_slide(grid , SCROLL_DIRECTION_UD , -25);
        }
    }
    return false;
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值