本文主要介绍如何在Delphi D10.X环境下进行安卓应用程序开发,以实现原生Toast显示图片的功能。在之前的基础上,通过增加一个新的方法声明和功能过程,允许开发者在显示Toast消息时附带图片,提高了用户体验。 在Delphi D10.X的安卓APP开发中,通常会使用Toast来展示短暂的信息提示。为了在Toast中添加图片,我们需要扩展原有的功能。首先,我们需要定义一个新的`Toast`过程,这个过程接收一个字符串`msg`作为显示的消息,一个整数`duration`表示持续时间,`gravity`用于设置对齐方式,`xOffset`和`yOffset`控制偏移量,以及一个`TBitmap`类型的参数`vBitmap`来传递要显示的图片。 ```delphi procedure Toast(const msg: string; duration: Integer; gravity: Integer; xOffset: Integer; yOffset: Integer; vBitmap: TBitmap); overload; ``` 接着,我们实现这个过程,利用Delphi的`{$IFDEF ANDROID}`条件编译指令确保这段代码只在安卓平台上执行。在该过程中,我们创建一个`JToast`对象,然后设置其文本、持续时间和对齐方式。如果`vBitmap`不为空,我们会创建一个`JImageView`来装载图片,并将其添加到`JToast`的布局`JLinearLayout`中。最后,调用`show`方法显示Toast。 ```delphi procedure Toast(const msg: string; duration: Integer; gravity: Integer; xOffset: Integer; yOffset: Integer; vBitmap: TBitmap); begin {$IFDEF ANDROID} CallInUiThread( procedure var vToast: JToast; vImageView: JImageView; vLinearLayout: JLinearLayout; begin vToast := TJToast.JavaClass.makeText(TAndroidHelper.Activity, StrToJCharSequence(msg), duration); vToast.setGravity(gravity, xOffset, yOffset); if Assigned(vBitmap) then begin // 创建图片显示 vImageView := TJImageView.JavaClass.init(TAndroidHelper.Context); vImageView.setImageBitmap(BitmapToJBitmap(vBitmap)); vLinearLayout := TJLinearLayout.Wrap(vToast.getView); vLinearLayout.addView(vImageView, 0); end; vToast.show; end); {$ENDIF} end; ``` 调用这个新功能的方法如下: ```delphi Toast('居中,显示图片', TToastLength.ShortToast, TGravity.Center, 0, 0, YourBitmapVariable); ``` 这里,`YourBitmapVariable`是你想要显示的`TBitmap`对象。通过这种方式,你可以在安卓应用的Toast消息中不仅显示文本,还能同时显示一张图片,使得提示信息更加生动和直观。 总结来说,这个教程提供了一个实用的方法,让开发者在Delphi D10.X环境下为安卓APP创建带有图片的原生Toast。通过这个扩展,你可以根据需求为用户呈现更加丰富的信息提示,提升应用的交互体验。
![](https://csdnimg.cn/release/download_crawler_static/14017378/bg1.jpg)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 2
- 资源: 878
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 利用迪杰斯特拉算法的全国交通咨询系统设计与实现
- 全国交通咨询系统C++实现源码解析
- DFT与FFT应用:信号频谱分析实验
- MATLAB图论算法实现:最小费用最大流
- MATLAB常用命令完全指南
- 共创智慧灯杆数据运营公司——抢占5G市场
- 中山农情统计分析系统项目实施与管理策略
- XX省中小学智慧校园建设实施方案
- 中山农情统计分析系统项目实施方案
- MATLAB函数详解:从Text到Size的实用指南
- 考虑速度与加速度限制的工业机器人轨迹规划与实时补偿算法
- Matlab进行统计回归分析:从单因素到双因素方差分析
- 智慧灯杆数据运营公司策划书:抢占5G市场,打造智慧城市新载体
- Photoshop基础与色彩知识:信息时代的PS认证考试全攻略
- Photoshop技能测试:核心概念与操作
- Photoshop试题与答案详解
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)