Android拖动进度条画面随动,ftk学习记录(一个进度条文章)
【 声明:版权全部,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
首先。在開始今天的文章之前。我们还是给朋友们展示一下前面一段代码的执行效果。效果例如以下,
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpeGlhb3hpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
有兴趣的朋友能够找到这段代码,看一下执行的效果怎样。
今天,我们能够看一下进度条的相关代码。
进度条,说简单也简单。说复杂也复杂。
我想,关于进度条大家印象最深的就是之前windows xp启动的情况,这里里边就有一个进度条。相同,我还是比較喜欢用代码来说明问题,
#include "ftk.h"
static Ret button_quit_clicked(void* ctx, void* obj)
{
ftk_quit();
return RET_OK;
}
static Ret update_progress(void* ctx)
{
int percent = 0;
FtkWidget* progress_bar = ctx;
percent = ftk_progress_bar_get_percent(progress_bar);
if(percent == 100)
{
return RET_REMOVE;
}
ftk_progress_bar_set_percent(progress_bar, percent + 10);
return RET_OK;
}
int FTK_MAIN(int argc, char* argv[])
{
int width = 0;
int height = 0;
FtkWidget* win = NULL;
FtkWidget* button = NULL;
FtkWidget* progress_bar = NULL;
FtkSource* timer = NULL;
ftk_init(argc, argv);
win = ftk_app_window_create();
width = ftk_widget_width(win);
height = ftk_widget_height(win);
width = width - 20;
progress_bar = ftk_progress_bar_create(win, 10, height/6, width, 20);
ftk_progress_bar_set_percent(progress_bar, 20);
timer = ftk_source_timer_create(1000, update_progress, progress_bar);
ftk_main_loop_add_source(ftk_default_main_loop(), timer);
progress_bar = ftk_progress_bar_create(win, 10, height/3, width, 20);
ftk_progress_bar_set_percent(progress_bar, 20);
timer = ftk_source_timer_create(1000, update_progress, progress_bar);
ftk_main_loop_add_source(ftk_default_main_loop(), timer);
progress_bar = ftk_progress_bar_create(win, 10, height/2, width, 20);
ftk_progress_bar_set_percent(progress_bar, 20);
timer = ftk_source_timer_create(1000, update_progress, progress_bar);
ftk_main_loop_add_source(ftk_default_main_loop(), timer);
button = ftk_button_create(win, width/4, 3*height/4, width/2, 60);
ftk_widget_set_text(button, "quit");
ftk_button_set_clicked_listener(button, button_quit_clicked, win);
ftk_window_set_focus(win, button);
ftk_widget_set_text(win, "progress_bar demo");
ftk_widget_show_all(win, 1);
ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE);
ftk_run();
return 0;
}
ftk的流程。之前的文章都已经涉及了,这里就不再赘述了。在此。我们仅仅须要关注进度条的相关代码就能够了。从代码中不难发现。这里除了创建1个button之外。还创建了3个进度条。进度条的初始数值都是20%。
那么进度条是怎么添加的呢?事实上,这里代码还创建了3个timer。
它告诉我们,每隔一段时间都会调用update_progress这个函数。此时进度条会有对应的添加。
一旦100%。就结束了。
相同,执行效果下次再现。
版权声明:本文博主原创文章,博客,未经同意不得转载。
Android拖动进度条画面随动,ftk学习记录(一个进度条文章)相关推荐
- Android拖动进度条画面随动,Android学习笔记(24):进度条组件ProgressBar及其子类
ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related ...
- ftk学习记(进度条篇)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 首先,在开始今天的文章之前,我们还是给朋友们展示一下前面一段代码的运行效果.效果如下, 有兴趣 ...
- vue aplayer 进度条无法拖动_为 Vue 的惰性加载加一个进度条
// 每日前端夜话 第412篇// 正文共:1800 字// 预计阅读时间:8 分钟 简介 通常用 Vue.js 编写单页应用(SPA)时,当加载页面时,所有必需的资源(如 JavaScript 和 ...
- ftk学习记(滑动条篇)
[声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 前一篇说到了combox,就先看一下效果吧. 说完了combox,就谈谈今天的滑动条.滑动条,当 ...
- Android中通过SeekBar手动控制ProgressBar与模拟下载自动更新进度条
场景 进度条的常用场景: 通过SeekBar拖动进而更新ProgressBar进度条,比如调整音量效果等. 模拟下载实现自动更新进度条. 注: 博客: https://blog.csdn.net/ba ...
- Android学习笔记(24):进度条组件ProgressBar及其子类
ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related ...
- Android 拖动条(SeekBar)实例 附完整demo项目代码
Android 拖动条(SeekBar)实例 附完整demo项目代码 1.拖动条的事件 实现SeekBar.OnSeekBarChangeListener接口.需要监听三个事件: 数值改变(onPro ...
- android第三方开源音频播放器,Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用...
Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用 Android平台原生的SeekBar设计简单,然而,比如现在流行的一些音乐播放器的播放进度控制条,如果直接使 ...
- 如何解决Mac电脑在启动时卡在Apple 标志或进度条画面?
Mac 在找到本地启动磁盘后会显示 Apple 标志,然后随着 macOS 启动或安装过程的继续,Mac 会显示一个进度条. Mac 在找到启动磁盘后会显示 Apple 标志,启动磁盘通常是 Mac ...
最新文章
- Android重写FragmentTabHost来实现状态保存
- hdu 1874 畅通工程续(模板题 spfa floyd)
- aspnet_regiis.exe -i 执行报错
- javafx响应式布局_JavaFX的响应式设计
- oracle10g rac启动,ORACLE 10G RAC启动与关闭
- 【hihocoder 1039 字符串消除】模拟
- SentinelResource注解配置中_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0046
- 转:Delphi中destroy, free, freeAndNil, release用法和区别
- 从功能到接口,原来技能可以通用!
- 用java处理图片(压缩成小尺寸;加文字和logo水印)
- 基于SpringBoot校园疫情防控管理系统 校园出入登记系统
- vue引入 wps在线编辑版,可进行 预览,编辑, 打印等功能。
- (渗透-摘录) cookie 注入
- MySql自动增长从头开始
- 第3章 天墉城有仙人
- win10系统用什么测试软件,Win10系统如何测试软件兼容性?
- VMware安装windows server 2008 r2详细教程
- 基于OpenCV的刷脸考勤&人脸校验&用户管理系统(源码&教程)
- 智能体仿真中的BDI(belief-desire-intention)架构
- 20155314 2016-2017-2 《Java程序设计》实验四 Android程序设计
热门文章
- 说明所有BeanPostProcessor的触发时机
- 关于CTRL+Z失效的问题
- spark sql教程_如何使用Spark SQL:动手教程
- Linux/centos下查看网卡型号,如何查看主板型号,CPU/显卡信息,硬盘型号等硬件信息...
- mySql获取表的字段名,字段注释
- PDF打印出现:请安装Evernote程序
- 最长回文子串(C/C++动态规划)
- Javascript对圆角div的实现
- word excel 应用程序无法正常启动(0xc0000142)
- 三星电子 CEO 敲定,三人联席架构继续,李尚勋将任董事会主席