当前课程知识点:移动快速应用开发 > 第五章 我的绘图板 > 绘图的保存 > 绘图的保存
大家好
在前一讲里
我们完成了手指作画和画圆功能的开发
在这一讲中我们将进行线宽设置并跳屏传值
和保存图像两种功能的开发
在Settings屏幕中实现线宽选择功能
需要用到滑动条组件
滑动条组件通过移动滑块位置来设置数值
有最大值和最小值2个属性要根据需求来进行设置
由于APP Inventor里面一个屏幕是
不能访问另外一个屏幕的组件或变量的
在Settings屏幕中设置好的线宽值传递给Screen1屏幕
需要通过“打开屏幕并传值”方法返回线宽值
保存功能会将画布中的图案
保存为图像文件
存放到手机SD卡中
画布组件提供了两种保存方式
保存 过程和“另存”过程
这两种过程虽然都能进行保存操作
但都有缺陷
不能由使用者自由设定保存的文件名
我们需要结合APP Inventor中提供的
对话框组件来实现获取用户输入的文件名功能
下面我们就来进行功能的具体实现
下面我们来实现清除屏幕功能
清除屏幕功能
需要点击我们的按钮3
调用按钮3的被点击事件
屏幕清除
我们可以使用画布给出的清除画布过程
同时设置球形精灵的可见性
为假
这样我们就清楚了画布的内容
同时设置球形精灵
为不可见
下面我们再来实现保存功能
保存功能会将画布中的图案保存为图像
文件存放到SD卡中
画布组件提供了两种保存方式
分别为保存和另存为
其中保存是一种不指定文件名的方式
系统会自动进行命名
而另存为可以有开发者指定名称
这两种过程虽然都能进行保存
但都有缺陷
如果调用保存方法
那么保存生成的图像名是由前缀APP Inventor
加上当前时间组成的
如果调用另存为保存的文件名在开发阶段
就会被固定
如果需要多次保存的话
那么保存图像会被后者覆盖掉
所以实际使用时我们希望自由设定保存的
文件名
APP Inventor提供了对话框
组件来获取用户输入的文件名功能
我们可以通过显示文本对话框方法来获取
用户输入的文件名
显示文本对话框
有三个输入框
分别是消息、标题
以及允许撤销
下面我们就来使用对话框中的显示文本
对话框来进行设置保存
我们的保存图像为按钮4
调用
按钮4
被点击时 事件使用文本对话框
消息
我们设置为请输入文件名
标题
我们设置为保存提示
那么在调用当对话框输入完成的事件
我们需要设置求值
但忽略结果
在求值和忽略结果后
我们调用画布的另存为文件名
我们需要使用合并字符串
第一个我们设置为取响应
第二个我们设置为图片默认后缀名
.jpg
再调用对话框中的显示警告信息
通知用户保存成功
这样我们的保存功能就实现了
下面我们来实现屏幕的跳转
和传值工能
在这个例子中的屏幕跳转和传值功能
主要是用来实现画笔的宽度设置
在我们的Screen1屏幕中
点击画布设置
就会跳转到Settings屏幕
那么我们需要设置按钮2的被点击事件
点击控制
选择打开另一屏幕
屏幕名称为Settings
这样我们就实现了屏幕的跳转功能
下面我们再来实现线宽选择功能
进入Settings屏幕中
线宽选择是由滑动条来决定的
我们可以调用滑动条的位置被改变事件
世界在调用画布中的线宽设置
设置画布线宽为滑动条的滑块位置
这样就可以设置线宽
那么设置完线宽之后
我们需要在画布中进行查看
所以我们还接着需要设置画布中的被拖动事件
首先设置画布的线宽为刚刚确定的线宽
接着调用画布的画线
设置x1为前点x坐标
y1为前点y坐标
x2为当前x坐标
y2为当前y坐标
这样我们就可以在Settings中的画布
查看我们的线宽
在Settings中设置好线宽之后
我们还需要通过屏幕传值来为我们的
Screen1画布设置线宽
那么我们需要在Settings屏幕中设置按钮的
被点击事件
选择关闭屏幕
并返回值
这个值我们需要设置为画布的线宽
同样在Screen1中为了获取返回值
需要调用关闭屏幕的方法
我们返回Screen1
我们点击Screen1
调用关闭屏幕事件
接着设置我们的全局变量
global线宽
为取返回结果
这样在Settings设置的线宽就可以
传递到我们的Screen1中去
为了排列美观
我们可以纵向排列
所有块
这样我们设置的界面就排列整齐
同学们绘图板的所有功能已经完全实现
欢迎大家的收看
谢谢
-App Inventor简介
-第一个应用-喵喵叫的小猫
--喵喵叫的小猫
-App Inventor的调试方法
-作业--作业
-拓展练习
-石头剪刀布界面设计
-选择结构
--选择结构
-组件介绍
--组件介绍
-石头剪刀布逻辑设计
-作业--作业
-计算器的界面设计
--计算器的界面设计
-过程的定义
--过程的定义
-实现整数运算的计算器
-带小数点的计算器
--带小数点的计算器
-代码测试
--代码测试
-作业--作业
-我的词典界面设计
--我的词典界面设计
-语言翻译
--语言翻译
-文字朗读
--文字朗读
-语音识别
--语音识别
-作业--作业
-绘图板界面设计
--绘图板界面设计
-手指作画
--手指作画
-精灵画圆
--精灵画圆
-绘图的保存
--绘图的保存
-作业--作业
-社交应用界面设计
--社交应用界面设计
-拨号并收发短信
--拨号并收发短信
-短信的分类保存
--短信的分类保存
-短信的选择与删除
--短信的选择与删除
-作业--作业
-条码扫描器
--条码扫描器
-申请Web-API的步骤和调试方法
-Web客户端
--Web客户端
-JSON格式数据的解析方法
-扫码识物
--扫码识物1
--扫码识物2
-作业--作业
-人工智能技术介绍
--人工智能技术介绍
-扫描仪界面设计
--扫描仪界面设计
-百度AI 函数介绍
-扫描仪的代码实现
--扫描仪的代码实现
-作业--作业
-拓展练习