View¶
View 的概念继承自安卓,一共有两种类型的View,分别是 Layout 与 Widget 。
此项目 Widget 只有 TextView ; Layout 有 TableLayout , 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是否显示。
注意只有使用
scroll或overflow_vertical为hidden_top、hidden_btm时这个函数返回值才是有意义的, 且只对TableRow有效,对于TextView这个返回值一样是无意义的。
-