网页窗口
from ascript.android.ui import WebWindow
制作用户交互界面
此网页窗口, 使用 WebView 展示 Html页面
,需要开发者掌握一定 html知识.
开启窗口后,使用 JavaScript 可以和Python语言交互与通信.
方法
创建Web窗口
创建一个WebUI交互窗口,窗口依赖Html
- 函数
WebWindow(self,html:str,tunnel=None)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
html | str | 是 | html布局路径,请使用 ‘R.res’ 引用资源,也可以传入一个http地址 |
tunnel | fun | 否 | html 向 python 传递参数的通道,该函数需存在两个形式参数 key,value,html会传递键值对参数过来 |
- 返回值
WebWindow 窗口对象
- 示例
#展示一个简单的Html页面
from ascript.android.ui import WebWindow
from ascript.android.system import R
def tunnel(k,v):
print(k)
print(v)
# 构建一个WebWindow 显示‘/res/ui/a.html’ 通信通道为tunnel 函数
w = WebWindow(R.ui('a.html'),tunnel)
w.show()
窗口模式
可以改变窗口的模式
- 函数
WebWindow(...).mode(mode:int=0)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
mode | str | 是 | 窗口的模式 m=0 默认,窗口内和窗口外都可以获取点击触摸事件,但窗口外不可以调出键盘 m=1 只有窗口内的点击触摸事件有效 m=2 窗口内的所有点击触摸事件无效,并透传到窗口下 m=3窗口内外都可以点击触摸,但窗口内不可以调起键盘 m = -1 窗口载入进activity中.窗口内长按事件触发为系统原生方式 |
- 返回值
WebWindow 窗口对象
- 示例
# 显示一个 不可触摸的悬浮窗
from ascript.android.ui import WebWindow
from ascript.android.system import R
# 构建一个WebWindow 显示‘/ui/a.html’
w = WebWindow(R.ui('a.html'))
w.mode(2)
w.show()
消息通道
设置消息通道,可以接收到js中传递的消息
- 函数
WebWindow(...).tunner(pyfun)
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
pyfun | function | 必填 | 必须包含两个形式参数 k,v |
- 示例
# 设置和html交互的消息通道
from ascript.android.ui import WebWindow
from ascript.android.system import R
def tunner(k,v):
print(k,v)
w = WebWindow(R.ui("loger.html"))
w.tunner(tunner) # 在这里设置消息通道
w.show()
尺寸
设置窗口 宽 或 高
- 函数
WebWindow(...).size(self,width=None,height=None)
- 参数
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
width | number 或 string | 必填 | 当值为number类型时 width=300 设置窗口宽度为300px 当值为string类型时 .width="80vw" 设置宽度为屏幕宽度的 80% width ="80vh" 设置宽度为屏幕高度的 80% |
height | number 或 string | 必填 | 当值为number类型时 height =300 设置窗口高度为300px 当值为string类型时 height="80vw" 设置高度为屏幕宽度的 80% width ="80vh" 设置高度为屏幕高度的 80% |
- 示例
# 根据像素值 设置窗口宽高
from ascript.android.ui import WebWindow
from ascript.android.system import R
# 构建一个WebWindow 显示‘/ui/a.html’
w = WebWindow(R.ui('a.html'))
w.size(500,300)
w.show()
# 根据百分比 设置窗口宽高
from ascript.android.ui import WebWindow
from ascript.android.system import R
# 构建一个WebWindow 显示‘/ui/a.html’
w = WebWindow(R.ui('a.html'))
w.size('50vw','50vh')
w.show()
背景
设置UI背景色,默认为白色
- 函数
WebWindow(...).background(color:str)
- 参数
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
color | string | 必填 | argb 颜色值 透明:#00000000 白色:#FFFFFF 黑色:#000000 |
- 示例
# 设置背景色透明
from ascript.android.ui import WebWindow
from ascript.android.system import R
# 构建一个WebWindow 显示‘/ui/a.html’
w = WebWindow(R.ui('a.html'))
w.background("#00000000")
w.show()
拖拽
UI窗口是否可被用户拖拽,默认为False
- 函数
WebWindow(...).drag(is_drag:bool=False)
- 参数
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
is_drag | boolean | 必填 | 系统默认为False 设置为True 后,在UI顶部出现拖动条,和改变尺寸的按钮 |
- 示例
# 让窗口可以拖动
from ascript.android.ui import WebWindow
from ascript.android.system import R
# 构建一个WebWindow 显示‘/ui/a.html’
w = WebWindow(R.ui('a.html'))
w.drag(True)
w.show()