﻿FMXUI  (YangYxd)

【当前版本】
  2023.06.30.001

【主要更改】
 - -----------------------------------
 - 2023.06.30.001
 * [新增] 添加 TBadgeStyle.Text
 * [新增] 增加TImageIndexProperty属性编辑器（感谢代码：ying32）
 * [新增] TScrollView添加滚动条默认类和默认宽度
 * [新增] TDialogBuilder添加SetMaxWidth和SetHeight（感谢建议：恢弘）
 * [优化] ListviewEx现在接管不可见控件的OnClick
 * [优化] Hex2Color中的StrToIntDef改为StrToUIntDef（感谢：qq143626） GH-43
 * [修正] 权限申请在11的兼容性，删除AndroidManifest.template.xml和info.plist.TemplateiOS.xml
 * [修正] ScrollView滚动过后产生的问题
 * [修正] ListviewEx自动高度不准确的问题 (感谢代码：yangyxd)
 * [修正] ListviewEx多层时绘制错误的问题 (感谢代码：田园生活者)
 * [修正] Hide导致ActiveFrame错误的问题（感谢报告：keven，柴头柴脑）
 * [修正] GridView某些情况下提示Range check error的问题（感谢报告：CPU风扇，柴头柴脑）
 * [修正] 修正HtmlText有两个相同url导致的无法跳转链接（感谢代码：wr960204）GH-57
 * [修正] 修正Frame动画在11.3无效的bug（感谢报告：marlonnardi, 柴头柴脑）GH-55
 * [修正] ListviewEx当子视图没有TView组件时点击失效的问题
 * [修正] 11.3时TPullScrollView、TVertScrollView、THorzScrollView拉动时错位问题 （感谢报告：marlonnardi） GH-58
- -----------------------------------
 - 2021.03.19.001
 * [新增] 兼容10.4
 * [新增] 安卓沉浸式状态栏全透明 (感谢：谭钦的u_Immerse.pas，意帆、Udcover、凌风)
 * [新增] TFrameView 增加 Resume & Pause 过程
 * [新增] 特殊布局的例子Layout
 * [新增] ListviewEx的例子ModernList
 * [新增] TImageView允许设定TViewSize.WrapContent，双边设定为自动大小，单边为按宽高比缩放
 * [新增] TGridView footer增强和新的demo（感谢代码：CCC）
 * [新增] Radius值，当设置为-1至1之间的时候，自动设置为最短边的相乘的值
 * [更改] TDialogView无论是否Cancelable，全部拦截返回键，避免TFrameView在TDialogView释放，而TDialogView没有释放的情况
 * [修正] 因TabStopController导致的部分情况下TDialogView无法释放
 * [修正] HtmlText绘制错误（感谢报告：keven）
 * [修正] TTextView内容过少且显示滚动条时绘制错误，以及某些情况下拉动到最底部会闪动的情况（感谢报告：意帆）
 * [修正] 其他一些小问题修正（感谢报告：意帆和keven）
 * [修正] 10.4TMemo在Frame时会导致释放失败（感谢报告：恢弘）
 * [修正] 10.4状态栏下拉导致状态栏下沉（感谢报告：Udcover）
 * [修正] 在Linux下无法编译的问题（感谢代码：CCC）
 * [修正] 修正一处TEditView位置计算问题 (感谢提供代码：凌风)
 * [修正] 当TDBGridView设置MinRowCount后，空白行会被最后一行记录的值填充 (感谢报告：Jasper)
 * [修正] 10.3，安卓5.1，部分情况下TViewAccessoryType.Back会导致启动失败 (感谢报告：微笑的卡列宁)
 - -----------------------------------
 - 2020.05.28
 * [新增] TDialogView增加阴影开关
 * [更改] TFrameView.Hint支持自定义TToastManager，增加线程调用
 * [更改] TButtonView响应回车键和空格键
 * [更改] TDialogView Button改为按需创建，按键响应方式变更
 * [更改] TToastManager允许创建多个实例，尤其在非安卓平台，可以让Toast内容显示在你想要的位置
 * [优化] TDialogStyleManager增加更多属性，支持Assign
 * [优化] SVG编辑器增加text模式 (感谢报告：keven)
 * [优化] TCalendarView.OnOwnerLunarData中初始化默认参数值 (感谢报告：keven)
 * [优化] TViewBorderStyle增加Lines，可选多边框 (感谢报告：凌风)
 * [修正] TEditView某些情况下无法移动光标（感谢报告：欢乐飞刀）
 * [修正] TDialogStyleManager MaxWidth效果不正确的Bug
 * [修正] TRelativeLayout 和 TLinearLayout 子控件布局错误（感谢报告：恢弘和凌风）
 * [修正] TListViewEx Win平台点击错乱问题（感谢报告：keven）
 * [修正] Checked状态绘制错误（感谢报告：凌风）
 - -----------------------------------
 - 2020.03.13
 * 修正EditView无法设定selstart（感谢报告：Udcover）
 * 修正TGridsLayout部分情况下丢失控件（感谢报告：海歌）
 * 修正TCameraViewer部分情况下绿屏（感谢报告：凌风）
 * 更改SetDownPopup重力为相对于锚点位置（感谢报告：Jiang）
 * TDialogView添加TabStop响应，焦点切换停留在当前TDialogView（感谢报告：惠子）
 * 修正EditView安卓下FilterChar失效的问题（感谢报告：猴哥）
 * 修正TListViewEx的子项部分情况下无法使用Margins和Padding的问题（感谢报告：凌风）
 * 修正部分情况下TGridsLayout和TTextView的大小错误问题
 * 修正TListViewEx使用TFrame在win下鼠标移出点击状态不会消失的问题（感谢报告：ying32）
 * 修正TSizeForm没有适配Sacle的问题（感谢报告：ying32）
 * 改变TSizeForm Windows下窗口消息拦截方式。（感谢Pull代码：ying32）
 * 改变TSizeForm Windows下可使用VCL样式的消息拦截过程。（感谢Pull代码：ying32）
 * 增加对话框例子自定义对话框回调，以及自定义对话框细节完善
 * 修正TListViewEx子View.Background.ItemDefault.Kind = TViewBrushKind.None是子View的HotOver颜色不会刷新的问题（感谢报告：ying32）
 * 修正TListViewEx，TStringGridView小问题（感谢报告：惠子，Udcover，[东莞]围墙）
 * 优化Grid，添加EnableControls/DisableControls（感谢提供参考代码：惠子）
 * 优化InstallApk，兼容安卓8以上（感谢：CodeCoolie）
 - -----------------------------------
 - 2019.10.23
 * EditView兼容10.3
 * 添加VKhelper键盘助手
 * 添加对话框位置，标题栏粗体，消息文本重力，消息文本外边距，按钮样式等属性
 * 添加更多对话框示例
 * 添加TPullScrollView
 * 添加THorzScrollView支持拉动功能
 * TBadgeView取消父控件限制，增加重力选项
 * 添加DoCanFree，允许自定义退出条件
 * 添加ViewportPositionChange
 * 修正部分情况下，等待对话框AV错误
 * 修正滚动组件，滚动条错位的问题（感谢报告：那夜雨 & 凌风 & 惠子）
 * 修复GridView添加后滚动错位的问题（感谢报告：乖乖）
 - -----------------------------------
 - 2018.12.25 
 * 修复多选对话框bug: 不管选中多少，返回的选中数量都为0（感谢报告：Micky）
 * 圣诞快乐
 - -----------------------------------
 - 2018.11.28 
 * 支持Delphi 10.3 RIO
 - -----------------------------------
 - 2018.11.13 
 * 修复ListView多选Demo显示错误的问题（根本原因是CheckBox的问题）
 * IListAdapter接口增加DisableCache函数，碰到像CheckBox这种情况，可以不使用缓存
 - -----------------------------------
 - 2018.06.21 
 * DBGrid功能加强，OnDrawFixedColText，OnDrawFixedCellsText事件增加DefaultDraw参数，设为True时继续执行默认绘制
 + GridView中列数据类型为ProgressBar时显示进度条
 - -----------------------------------
 - 2018.03.12
 + Background, Drawable 增加 Kind 属性
 * 修复Accessory图像不能使用半透明颜色的问题
 - -----------------------------------
 - 2018.02.27
 + 增加 UI.VKhelper 单元，解决软键盘遮档问题（感谢QDAC: swish)
 - -----------------------------------
 - 2018.02.11
 * 修改自带的Accessory图像，将流行的常用图标加入
 - -----------------------------------
 - 2018.01.24
 + 增加 SHA, MD5, DESede 常用加密单元(SHA源自www.qdac.cc)
 - -----------------------------------
 - 2018.01.11
 * 优化和ScrollView相关组件滚动时的问题
 * 修复 GridView 启用 DragOneWay （单向滚动）时的BUG 
 - -----------------------------------
 * 修复BUG
 - -----------------------------------
 - 2018.01.08
 - -----------------------------------
 * 修复BUG
 + 设计器增加Copy Background, Copy Drawable等功能菜单
 - -----------------------------------
 - 2017.12.29
 - -----------------------------------
 * 优化日历组件，增加水平划动效果
 - -----------------------------------
 - 2017.12.25
 - -----------------------------------
 * 修复Bug（感谢报告：闲花漫云）
 * 优化代码
 * 圣诞快乐！
 - -----------------------------------
 - 2017.12.22
 - -----------------------------------
 + 全面支持 SVG 图像。在Drawable和Background各项中，增加 SVGImage 属性。
 - -----------------------------------
 - 2017.12.12
 - -----------------------------------
 * 修复 TCalendarView BUG（感谢报告：益佳易）
 - -----------------------------------
 - 2017.12.08
 - -----------------------------------
 * 增加 TCalendarView 日历组件 
 - -----------------------------------
 - 2017.12.04
 - -----------------------------------
 + 增加 UI.Calendar 和 UI.Calendar.Data 单元，后续将增加日历控件
 - -----------------------------------
 - 2017.11.10
 - -----------------------------------
 * 修复ListView多列时，滚动后显示错乱的问题（感谢：好人一生平安路）
 - -----------------------------------
 - 2017.07.27
 - -----------------------------------
 + 增加 TVertScrollView, THorzScrollView 垂直和水平滚动视图组件，更平滑的滚动，支持非移动平台鼠标拖动滚动
 * 修复一些BUG
 - -----------------------------------
 - 2017.07.25
 - -----------------------------------
 * 修复已知BUg (感谢：好人一生平安路） 
 - -----------------------------------
 - 2017.07.14
 - -----------------------------------
 * 修复 10.2 东京版中 Release 模式编译器优化 out 参数导致的问题
 - -----------------------------------
 - 2017.07.13
 - -----------------------------------
 * 修复 ListView 已知BUG
 - -----------------------------------
 - 2017.07.05
 - -----------------------------------
 * TextView 等 HtmlText 属性优化，增加超链接支持，增加 OnLinkClick 超链接事件
 - -----------------------------------
 - 2017.07.04
 - -----------------------------------
 * TextView、ButtonView 等组件增加属性 HtmlText，允许通过html代码实现更加丰富的显示效果
 - -----------------------------------
 - 2017.07.02
 - -----------------------------------
 * 优化 ListView 下拉刷新和上拉加载更多的动画效果，更加平滑
 * 优化 ImageViewerEx 图像浏览组件手势操作
 - -----------------------------------
 - 2017.06.30
 - -----------------------------------
 * 优化 GridView
 + 增加 CameraViewer 组件 
 - -----------------------------------
 - 2017.06.29
 - -----------------------------------
 * 修复 GridView 在移动平台上的BUG，基本不卡了
 - -----------------------------------
 - 2017.06.28
 - -----------------------------------
 * 修复 GridView 在移动平台上的BUG
 * 修复 Dialog 在移动平台上不能显示消息内容的问题
 - -----------------------------------
 - 2017.06.27
 - -----------------------------------
 * 核心功能加强。所有组件的 Drawable, Background相关属性增加 Accessory 支持
 + 增加 TImageViewerEx 图像浏览组件
 - -----------------------------------
 - 2017.06.26
 - -----------------------------------
 * 优心核心代码，ListView 滚动优化
 - -----------------------------------
 - 2017.06.24
 - -----------------------------------
 + UI.GridView 单元： GridView 的 Options 属性增加 gvFixedFooter 选项，启用后在视图底部显示 Footer，显示的内容可在适配器中返回。
   同时增加 FooterStyle 属性，用于设置支持的 Footer 类型（无，求和，平均值，最大和最小）。 在DBGridView中，默认支持这几种样式。
 - -----------------------------------
 - 2017.06.22
 - -----------------------------------
 * 修复 UI.Grid 中的部分 Bug （设计器），修改固定列的数据管理
 - -----------------------------------
 - 2017.06.20
 - -----------------------------------
 + 增加 GridView, StringGridView, DBGridView 三大Grid组件，可用于显示表格和数据集（主要面向非移动平台）
   GridView 支持多行列头，列头合并，行号，筛选，复选，单选等等功能！
 * 其它单元更新，功能加强
 * UI.Dialog 的增加更多功能，可用于显示下拉列表
 - -----------------------------------
 - 2017.05.21
 - -----------------------------------
 * 全面优化ListViewEx，提升滚动平滑度，解决滚动时定位不正确，跳动等所有已知BUG，增加 DragScroll属性，让非移动平台也能支持划动滚动操作。
 * 其它已知BUG修复
 - -----------------------------------
 - 2017.05.15
 - -----------------------------------
 + 增加 TShareImageList 组件，利用它可以实现跨 Frame, Form 共用 ImageList
 * 优化 RelativeLayout 的Layout属性中相对定位组件选择功能，排除不能使用的组件
 + 增加 UI.SizeForm 单元
 - -----------------------------------
 - 2017.05.13
 - -----------------------------------
 + TTextSettings 增加 Opacity 属性，这样可以让组件只改变文字的透明度
 * ListView 优化，并将一些私有方法和属性公开，以便更加灵活的使用
 * 修改 10.1.2 版本的 FMX.Canvas.D2D.pas 补丁文件，之前的会影响文本框的光标
 + 增加 10.1.2 版本的 FMX.Forms.pas 补丁文件，解决Win平台下无边框窗体不能showHint的问题
 - -----------------------------------
 - 2017.05.10
 - -----------------------------------
 + 增加TImageView Demo
 + UI.ListView增加分组列表功能
 - -----------------------------------
 - 2017.05.08
 - -----------------------------------
 * ListViewEx 已知BUG修复
 - -----------------------------------
 - 2017.05.07 
 - -----------------------------------
 * 修复05.06版本改动引起的ListViewEx滚动问题。
 * 修复非移动平台ListViewEX有时候拖动滚动块滚动不到底部的问题
 * 增加TDrawableBrush组件，可用于存放图像数据，然后用代码在运行时作为图像源
 - -----------------------------------
 - 2017.05.06 
 - -----------------------------------
 + ListViewEx 增加多列支持
 + ListViewEx 增加 AddHeaderView, AddFooterView 方法，添加额外的View到列表头部或底部
 * 优化 ListViewEx 在移动平台滚动处理，修复旧版本有时下拉不了的情况
 - -----------------------------------
 - 2017.05.03
 - -----------------------------------
 * 修改绘制状态的优先级，Check状态调整为优先于Focus
 + 增加 D10.1.2 补丁文件 FMX.Canvas.D2D.pas
 * 修复Win平台部分电脑上组件左边会多出一条半透明线条的BUG，解决办法是添加补丁文件 FMX.Canvas.D2D.pas
 - -----------------------------------
 - 2017.04.22 
 - -----------------------------------
 + 增加Demo: 边栏菜单
 * UI.Dialog 增加左右边栏菜单功能 (感谢: L.L.Qing)
 * UI.Standard 中 TextView 及其派生组件增加 Hint, ShowHint 属性
 - -----------------------------------
 - 2017.04.16 
 - -----------------------------------
 + 增加Demo: Dialog自定义View的用法
 * 修复ListViewEx下拉刷新后回弹太多的BUG
 * 修复Frame关闭后，等待对话框完成时会产生的一个BUG
 * 修复网友'好人一生平安路'发现的BUG（感谢 好人一生平安路）
 * 修复Android 5.0 及以上版本有虚拟功能键时，底部被虚拟功能键遮住的问题
 - -----------------------------------
 - 2017.01.18 (可能是年前最后一个版本，祝大家春节愉快)
 - -----------------------------------
 * 优化 TRingView 组件并修复已知Bug
 + 增加 TMultiPathView , 可实现各种复杂的多重路径显示 (感谢 swish)
 - -----------------------------------
 - 2017.01.16
 - -----------------------------------
 * 修复 Delphi 10 Seattle 无效编译 Android 的问题
 - -----------------------------------
 - 2017.01.14
 - -----------------------------------
 + 增加 TRingView 组件（各种空心图形效果，感谢 swish）
 * 修改 TProgressView 组件为圆环时的绘制方式
 - -----------------------------------
 - 2017.01.11
 - -----------------------------------
 * 修改 TextView 的 Checked 有设置时，绘制 Drawable 时优先使用 Checked 状态
 * 解决 Android 中设置状态栏颜色（沉浸式）无效的问题(只兼容SDK版本大于21的安卓设备)
 - -----------------------------------
 - 2017.01.07
 - -----------------------------------
 + 增加一个分栏页面的 Demo
 * UI.Frame 改进，支持在子控件中显示隐藏Frame时指定动画效果
 * UI.Frame 修改 DoCreate 触发的时机为设置 Parent 之后，避免由于本身没有初始化完成导致的问题
 * UI.Base 修改 TViewBorderStyle，将之前的LineBottom效果改为LineEdit，去除LineSmapie，同时增加LineLeft,LineTop,LineRight,RectBitmap样式
 - -----------------------------------
 - 2017.01.06
 - -----------------------------------
 + 增加 TBadgeView 组件 (用于显示未读消息的提示小红点)
 - -----------------------------------
 - 2017.01.05
 - -----------------------------------
 + 增加 TImageView 组件
 * 修复 TGridsLayout 存在的已知Bug，增加 SpringBorder 属性
 - -----------------------------------
 - 2017.01.04
 - -----------------------------------
 * UI.Frame 已经bug修复（感谢：漠北）
 - -----------------------------------
 - 2016.12.29
 - -----------------------------------
 * UI.Frame 增加移入移出动画效果（感谢：漠北）
 * 整理Demo
 * 修复其它已知bug
 - -----------------------------------
 - 2016.12.28
 - -----------------------------------
 * 修复 Action 无效的问题
 * 修复 TGridsLayout 列高后设置不能保存的问题
 - -----------------------------------
 - 2016.12.26
 - -----------------------------------
 + 增加 TGridsLayout 格式布局组件
 - -----------------------------------
 - 2016.12.23
 - -----------------------------------
 * 核心优化：TViewBorder支持渐变、图像等
 * TProgressView 组件支持 Kind （水平、垂直、圆环，参考 ProgressViewDemo）
 + 增加 UI.Utils 单元
 - -----------------------------------
 - 2016.12.17 (重要更新)
 - -----------------------------------
 * 修复 ListView 滚动时位置错乱和特别情况下引起闪退的问题
 - -----------------------------------
 - 2016.12.15
 - -----------------------------------
 * ListViewEx 增加下拉刷新和上拉加载更多的支持
 + UI.Frame 增加 DelayExecute 延时执行任务方法
 * UI.Frame ShowFrame 时，解决与 UI.Dialog 冲突的问题
 + 增加Demo ListView
 * 支持沉侵式状态栏。使用 UI.Frame 中 SetDefaultBackColor 设置默认背景色，SetDefaultStatusColor 设置状态条颜色
 * 优化 TextView 自动大小算法
 * EditView 解决 Android平台 MaxLength 无效问题
 * 其它已知BUG修复
 - -----------------------------------
 - 2016.12.11
 - -----------------------------------
 * 修复 ListViewEx 列表为空时的会出现的Bug
 * 优化核心代码
 - -----------------------------------
 - 2016.12.09
 - -----------------------------------
 * 优化核心代码，提升性能
 * 修复 TRelativeLayout 布局中相对定位的BUG
 - -----------------------------------
 - 2016.12.05
 - -----------------------------------
 * 优化核心代码，减少内存占用，提升性能
 * EditView 修复不能粘贴和设置键盘类型无效的bug
 + 增加 TProgressView 进度条组件
 - -----------------------------------
 - 2016.11.28
 - -----------------------------------
 * UI.ListView 修复部分已知bug.
 * UI.Dialog 修复列表对话框显示不正常的问题
 * UI.Base 修复按钮圆角边框显示不好看的问题
 - -----------------------------------
 - 2016.09.28
 - -----------------------------------
 * 原 UI.ListView 单元改名为 UI.ListviewEx ，功能保持不变
 + 增加新的 UI.ListView 单元， TListViewEx， 使用数据适配器的虚拟化列表组件
 + 增加 UI.Utils.ArrayEx 单元，一个扩展的 TArryEx 类，感谢武稀松
 * 其它优化
 - -----------------------------------
 - 2016.09.19
 - -----------------------------------
 + UI.Frame 增加切换动画支持，目前只实现了淡入淡出
 - -----------------------------------
 - 2016.09.18
 - -----------------------------------
 + 增加9宫格绘图设计器
 - -----------------------------------
 - 2016.09.16
 - -----------------------------------
 * Background 正式支持9宫格绘图
 + 增加 Dialog Demo
 - -----------------------------------
 - 2016.09.10
 - -----------------------------------
 + 增加 UI.Async 单元，方便的异步任务处理封装
 + 增加 UI.Dialog 单元，实现 AlertDialog, ProgressDialog 对话框类，支持各种常用的对话框
 + 增加 UI.ListView 单元，TListView 扩展实现，增加一些 Appearance，支持 Footer 点击事件
 + 增加 UI.Toast 系列单元，自动消失提示组件实现，Android 平台将调用原生 Toast
 + 增加 UI.Reg 单元，将各单元中需要注册的组件归类到此注册
 * 修复 UI.Base 单元中各个类的已知 Bug
 * 修复 UI.Standard 单元中所有已知 Bug
 * 优化 UI.Frame 单元
 - -----------------------------------
 - 2016.08.24
 - -----------------------------------
 + 增加 UI.Edit 单元，增加 TEditView 类
 * 将Demo工程移至单独文件夹下
 * 修复大量已知bug
 - -----------------------------------
 - 2016.08.22
 - -----------------------------------
 + 增加 UI.Frame 单元，增加 TFrameView 类，实现了多个 Frame 切换管理功能
 * 修复布局组件的已知BUG，布局更加灵活方便
 - -----------------------------------
 - 2016.08.19
 - -----------------------------------
 + 增加 TButtonView 
 + TTextView 增加 Drawable 属性，支持 TimageList
 * TTextView TextSetting 文字颜色
 * 其它修改
 