def __init__(self, frame=(0,0,150,32),
buttonSize = (32,32),
data = "this is a test".split(),
font = None,
initialItem = 0,
offset_eps = 0,
action = None,
fullSize = 300,
name = 'dropdown'):
self.frame = frame
self._position = [ self.frame[x] for x in (0,1)]
self.smallSize = frame[3]
self.bg_color = None
self.border_width = 0
self.border_color = 'black'
self.buttonSize = buttonSize
self._data = data
self.delegate = _DropDownDelegate(self)
if action:
if inspect.isfunction(action) and len(inspect.getargspec(action).args) == 2:
self.action = action
else:
raise TypeError('single argument function')
self.tvFrame = (0,0, self.frame[2] - self.buttonSize[0], self.buttonSize[1])
self.tv = ui.TableView(frame=self.tvFrame)
self.tv.row_height = self.smallSize
self.tv.name = 'tableview'
self.tv.allows_selection = True
self.tv.delegate = self.tv.data_source = self.delegate
self.tv.border_color = 'black'
self.tv.border_width = 1
self.button = ui.Button(frame = (self.frame[2]-self.buttonSize[0], 0) + self.buttonSize)
self.button.bg_color = 'white'
self.button.name = 'button'
self.button.action = self.onArrow
self.button.border_width = 1
self.button.border_color = 'black'
self.button.image=ui.Image.named('ionicons-arrow-down-b-24')
self.expanded = False
self.add_subview(self.tv)
self.tv.frame = self.tvFrame
self.add_subview(self.button)
self.fullSize = fullSize
self.smallSize = self.frame[3]
self.offset_eps = offset_eps
self.name = name
self._hidden = False
评论列表
文章目录