Не работает прокрутка в flet
Делаю приложение под android на Python через Flet. Мне нужно отображать список заданий, однако он не всегда помещается на экране, и я решил сделать прокрутку. Однако она не работает.
Код main.py:
from flet import *
import views
import database as db
def main(page: Page):
page.title = 'NeoTelecom'
page.theme_mode = 'dark'
page.scroll = 'adaptive'
page.vertical_alignment = CrossAxisAlignment.START
page.horizontal_alignment = MainAxisAlignment.CENTER
page.window_width = 400
page.padding = 0
page.spacing = 0
def route_change(e: RouteChangeEvent):
page.views.clear()
if page.route == '/':
#главная страница
elif page.route == '/task':
def go_main(e):
page.go('/main')
def go_comment(e):
data.data['task_id'] = e.control.data
page.go('/task/comment')
def go_navigate(e):
data.data['task_id'] = e.control.data
page.go('/task/navigate')
view_task = views.Task(go_main, go_navigate, go_comment)
#получаю tasks через api...
page.views.append(view_task.view(tasks))
page.on_route_change = route_change
page.go(page.route)
page.update()
app(target=main, assets_dir='assets/')
views:
class Task:
def __init__(self, go_main, go_navigate, go_comment):
self.go_main = go_main
self.go_navigate = go_navigate
self.go_comment = go_comment
def task(self, task_id, status, cust_name, cust_address, cust_phone, date, _type):
return Column(
[
#код для отображения одного задания
],
scroll='adaptive'
)
def view(self, tasks):
return View(
route='/task',
controls=[
#заголовки
Container(
Column(
tasks,
alignment=MainAxisAlignment.CENTER,
scroll='adaptive',
expand=1
),
padding=padding.only(top=20)
)
]
)
]
)
Я пробовал ставить в page.scroll и в Column.scroll:
ScrollMode.ALWAYS;
'always';
ScrollMode.AUTO;
'auto';
ScrollMode.ADAPTIVE;
'adaptive'
И ничего из этого не помогло. Прокрутка через тачпад не работает, прокрутка пальцем по экрану не работает, и ползунок не появляется
Ответы (1 шт):
Автор решения: GrandKing
→ Ссылка
Укажи высоту или максимальную высоту для Column.
Скорее всего, у тебя Column вышла за пределами экрана.