View

View 的概念继承自安卓,一共有两种类型的View,分别是 LayoutWidget

此项目 Widget 只有 TextView ; LayoutTableLayout , TableRow

class View

View方法说明

__init__(id, width, height=1, visibility=Visibility.visible, gravity=Gravity.left)

初始化

id

view的唯一id

width

view的宽度,可以是正整数,或者 Width.wrap,Width.fill

height

view的高度,暂时没用,始终为1

visibility

是否显示,可选值 :Visibility.visible,Visibility.invisible,Visibility.gone

gravity

view内部对其方式,可选值:Gravity.left,Gravity.center,Gravity.right

get_width()

获取初始化时设置的width

get_real_width()

最终显示的宽度

add_view(view)

向view中添加一个view

insert(index, view)

向view中每个位置插入一个view

remove()

从父view中移除自身

remove_view_by_id(id)

删除view

Layout

Layout 是布局控制器,他控制每个 Widget 显示的位置。

TableLayout

表格布局

class TableLayout
__init__(id, width=Width.fill, height=1, visibility=Visibility.visible, overflow_vertical=OverflowVertical.none)

init,需要注意TableLayout的gravity总是为left

classmethod quick_init(id, data, width=Width.fill, height=1, visibility=Visibility.visible)

快速初始化,

data

初始的view list

add_view(view)

向view中添加一个view

add_view_list(view_list)

向view中添加多个view,

TableRow

行布局

class TableLayout
__init__(id, width=Width.fill, height=1, back=None, visibility=Visibility.visible, gravity=Gravity.left)

init

back

背景色

classmethod quick_init(id, data, width=Width.fill, height=1, back=None, visibility=Visibility.visible, gravity=Gravity.left)

快速初始化

data

初始的view list

add_view(view)

向view中添加一个view,只支持添加TextView

add_view_list(view_list)

向view中添加多个view,只支持添加TextView

is_show()

view是否显示出来。

在 v2.1.4 之后, 如果 terminal 高度时会隐藏不能显示的部分,此时可通过is_show判断view是否显示。

注意只有使用 scrolloverflow_verticalhidden_tophidden_btm 时这个函数返回值才是有意义的, 且只对 TableRow 有效,对于 TextView 这个返回值一样是无意义的。

TextView

用于显示文本

class TextView
__init__(id, text, fore=None, back=None, style=None, width=Width.wrap, height=1, weight=None, visibility=Visibility.visible, gravity=Gravity.left)

初始化

text

文本

fore

颜色

back

背景色

style

字体样式

weight

宽度比重