如何使用Beeware在Android设备上显示本地存储的图片?
在Beeware Android应用中显示本地存储图片的解决方案
问题背景
我开发了一款Beeware应用,需要在Android设备上显示本地存储中的.png图片。此前误以为Beeware的Toga GUI在Android平台既不支持ImageView也不支持WebView,且未找到兼容Beeware的第三方模块,因此寻求可行的解决方案。之前编写的代码在Windows环境可正常运行,但在Android设备上会崩溃(原代码及报错信息略)。
验证可行的解决方案
按照mhsmith的回答修正代码后,应用已能在Android设备上正常显示本地图片,以下是更新后的正确代码:
import toga from toga import App, Box, MainWindow from toga import ImageView, Image from toga.style import Pack from toga.style.pack import COLUMN, ROW, BOTTOM, TOP, LEFT with open('/storage/emulated/0/documents/my_picture.bmp',"rb") as f: image_data = f.read() image_bytes = bytes(image_data) class HelloWorld(toga.App): def startup(self): main_box = toga.Box(style=Pack(direction=COLUMN)) self.myImage = toga.images.Image(data=image_bytes) self.img=toga.ImageView(image=self.myImage) main_box.add(self.img) self.main_window = toga.MainWindow(title=self.formal_name) self.main_window.content = main_box self.main_window.show() def main(): return HelloWorld()
内容的提问来源于stack exchange,提问作者Ariel
相关产品推荐
相关产品推荐

