推荐内置android控件的开源项目alcinoe
开源地址:https://github.com/Zeus64/alcinoe
该控件包,含以下几个控件:
1.基于OpenGL实现的视频播放器 ALVideoPlayer.
ALVideoPlayer将一个视频绘制到一个TEXTURE。可以将视频完全集成到delphi form中,并且可以将任何需要的控件放在顶部,因为它支持Z-ORDER。官方的delphi视频播放器只是form顶部的原生视频播放器窗口,因此不支持Z-ORDER。
在android下作者使用ExoPlayer。ExoPlayer支持诸如动态自适应HTTP流媒体(DASH),HLS,SmoothStreaming和Common Encryption等功能,MediaPlayer不支持这些功能。它的设计很容易定制和扩展。在Ios下使用的AVPlayer也支持HLS,比如exoplayer。
2.实现了内置控件TEdit/TMemo,支持ios与android.
这个重要,官方说10.3为android实现内置控件TEdit,现在我们提前有用的了!内置控件有什么好处,当然是效率与无bug.到现在Firemonkey的TEdit/TMemo还有bug.
3.高效的doublebuffered firemonkey控件,实现了原生绘制速度
- Rectangle
- Circle
- Text (Can also draw html text on ios/android/win/macos)
- Glyph
- etc.
我试着运行了作者提供的Demo,真是快的不得了,作者不是吹牛的。是Delphi自带的2陪速度。
4.改进了firemonkey控件
- ScrollBox
- TabControl
- RangeTrackBar
还有其他方面的内容,具体可以去看,上面的内容已经足够吸引我用了!
在试用过程中,发现在android 4.4.4上出错,在android 7.1.1正常,已经提交了问题,不知作者会不会修改,来支持低版本的android了。
后记:作者很勤奋,今早就给出了修正,解决在android 4.4.4上的问题:
找到fSurfaceTexture.setOnFrameAvailableListener(FOnFrameAvailableListener, fHandler);改成下面这样:
try
fSurfaceTexture.setOnFrameAvailableListener(FOnFrameAvailableListener, fHandler);
except
fSurfaceTexture.setOnFrameAvailableListener (FOnFrameAvailableListener); // api android <21
end;
同时,作者也说:But by calling without locking the handle there are crashes in the video ...
Any light on it would help a lot.
在android 4.4.4上能运行了,于是做了进一步测试:


左侧图是使用ALFmxControls的绘图效率,平均近52帧,右侧图为Delphi原生绘制效率,平均11帖,近5陪的差别。
在我的红米1S上能得到这样效率,真不可思异,要知道,作为测试机,这可是近三年多的机器,只能证明作者这个控件实现的太牛了!
估计看到这里,你也想试试,果真有这么神奇吗。相信我,不骗你,一试便知。反正我是准备在项目中启用这个控件了,虽然说尽量不用第三方控件,以减少项目后期的维护量,但对于这个开源控件来说,值得投入。
如果真要试用,还得有思想准备,就是整个开源内容近1G大小,拉回来不容易,我是拉了半天整不回来,还是Q友努力传给我的。如果你也需要,也可以找我,我的QQ:391879。
2018.8.2,作者支持了Delphi 10.2.3 ,并更新了Demo.
推荐内置android控件的开源项目alcinoe的更多相关文章
- AE内置Command控件使用
樱木 原文 AE内置Command控件使用 直接使用AE内置的Command控件来完成功能 1.拉框放大 /// <summary> /// 放大 /// </summary> ...
- Android 常用炫酷控件(开源项目)git地址汇总
第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...
- js 调用IE内置打印控件
转自学网(http://www.xue5.com/itedu/200802/102909.html) WebBrowser是IE内置的浏览器控件,无需用户下载. 一.WebBrowser控件 < ...
- android控件的属性
android控件的属性 本节描述android空间的位置,内容等相关属性及属性的含义 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ( ...
- Android控件TextView的实现原理分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8636153 在前面一个系列的文章中,我们以窗口 ...
- Android群英传笔记——第三章:Android控件架构与自定义控件讲解
Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基 ...
- Android控件常见属性
1.宽/高android:layout_width android:layout_height// 取值match_parent //匹配父控件wrap_content //自适应,根据内容 如果指定 ...
- Android控件RecyclerView的基本用法
Android控件RecyclerView的基本用法 转 https://www.jianshu.com/p/e71a4b73098f github: https://github.com/Cym ...
- [Android Pro] android控件ListView顶部或者底部也显示分割线
reference to : http://blog.csdn.net/lovexieyuan520/article/details/50846569 在默认的Android控件ListView在 ...
随机推荐
- js字符串转日期兼容性
今天遇到个bug,安卓上是好的,ios就不行.然后我就把可能用到的值都打印出来,发现日期比较一项在苹果机上就显示false,而谷歌浏览器是true.突然回忆起以前开发遇到过类似的问题,都是出在字符串转 ...
- ZCRM_DAY_IN_WEEK
FUNCTION zcrm_day_in_week. *"------------------------------------------------------------------ ...
- Spring Boot的数据访问:CrudRepository接口的使用
示例 使用CrudRepository接口访问数据 创建一个新的Maven项目,命名为crudrepositorytest.按照Maven项目的规范,在src/main/下新建一个名为resource ...
- 实现qq登录
//html页面 引入qq图标 <td> <a href="#" onclick="toLogin()"><img src=& ...
- .NET面试基本问题
1..NET和C#的区别? .NET:一般指的是.NET FrameWork框架,是平台,技术. C#:是一编程语言,是基本.NET平台. 2.C#的委托是什么?事件是不是委托? 委托可以把一个方法作 ...
- MAC常用软件工具(随某人个人版)
1.mac命令行工具(自带升级版) https://ohmyz.sh/ 连接远程服务器地址: 直接输入 ssh -A -p 22 root@IP 如:ssh -A -p 22 root@www.bai ...
- python(6)之文件
一.读写文件 以追加文件内容(a).读(r).写(w),读写(r+)的形式打开文件: f = open('yesterday','a',encoding='utf-8')#文件句柄 #输出一行文件内容 ...
- beamer template
\setbeamercolor{postit}{fg=black,bg=white} \begin{beamercolorbox}[rounded=true,shadow=true, sep=0em, ...
- 【Query】使用java对mysql数据库进行查询操作
操作步骤: 1.加载数据库驱动(先在工程里加载数据库对应的驱动包) 2.获取连接 3.根据连接建立一个可执行sql的对象 4.执行sql语句 5.关闭连接 代码: package database; ...
- R语言中的采样与生成组合
不放回采样:sample(1:10, 5, replace = FALSE) 生成组合: