Jump to content
Kanat

Создать компонент [Android Bottom Sheets].

Recommended Posts

Здравствуйте, 

Сейчас у всех приложении используется выдвижное меню снизу (Bottom Sheets).

Предлагаю создать компонент. Если это не приоритете и займет времени, предлагаю если это возможно прикрутить fgDrawerLayout.

Спасибо.

 

 image.png.ea86d8afaf1bc70e7a53bf7e2b614895.png

  • Like 6

Share this post


Link to post
Share on other sites

Я вот тоже замечал что так ща часто делается, но вот в необходимости прям компонента не уверен. Мне кажется Layouta достаточно. Однако для создания своего BottomSheet через layout не хватает имено анимации появления.

В теории можно даже на новой форме такое делать, но изменить тип анимации появления. 

Если BottomSheet обладает ещё какими нибудь особенностями, которые не сделать самому, то прошу напишите, а то я не в курсе и немного не в теме. Подобный БотомЩит я вот тока тока делал, но без анимации конечно. Может у такого компонента есть ещё чтото, то прошу меня поправить.

Share this post


Link to post
Share on other sites

Ну вот я "подрос" и согласен что BottomSheet нужен. А то хоть и можно создать руками через Rectangle и Layout, то поведение с выдвижением и ещё то приключение. Так что теперь и я голосую.

Share this post


Link to post
Share on other sites

В текущей версии это невозможно штатными средствами. 

Потому делайте эмуляцию.

Share this post


Link to post
Share on other sites
Posted (edited)
В 07.02.2020 в 14:58, k0de сказал:

Если BottomSheet обладает ещё какими нибудь особенностями, которые не сделать самому

Насколько я вижу в анимации, он ещё может быть, так сказать, двухуровневым: когда можно вытянуть слегка и когда дотянуть до конца.

Не будет ли сложностей при попытке имитировать такое поведение

Edited by AndrewTishkin

Share this post


Link to post
Share on other sites

@AndrewTishkin тоже хотел реализовать подобное, чтобы можно было схватить за край и вытягивать вверх. Но для этого компонент Splitter был бы как раз, которого пока нет. Еще где то нужен был splitter что бы менять высоти/ширину элемента. 

Share this post


Link to post
Share on other sites

Сложности будут конечно.

Потому я чисто как панель использую. Без анимации. Иначе проект вообще не закону. 

Расскажите хотя бы ждать ли вообще это в либе. Что бы понимать как строить UI.

Share this post


Link to post
Share on other sites

Добрый вечер, если Вы посмотрите реализацию на андроиде, но там видно, что для реализации необходим CoordinatorLayout

У Ярослава, форма представляет не его, потому, наиболее разумным мне кажется имплементация оного.

Я смотрел представление FrameStand для FMX, и делал примерно так же

Если это необходимо, могу выложить свои потуги, но это больше потягушки.

Спасибо.

Share this post


Link to post
Share on other sites

Если какого-то Андроид апи не хватает, я всегда могу его добавить в ближайший релиз. только дайте мне знать, чего не хватает.

  • Like 2

Share this post


Link to post
Share on other sites

Ярослав, если я правильно понял, все идет от CoordinatorLayout, т.е. в форму Вашей библиотеки, BottomSheet просто не добавишь (я пытался)

Если я ошибаюсь, поправьте меня пожалуйста.

 

Share this post


Link to post
Share on other sites
1 час назад, knsg12 сказал:

@Stas, все интересно, любой опыт будет полезен

Ну, я не знаю.

З.Ы. В названии файла не опечатка.

BottomShit.7z

  • Like 3

Share this post


Link to post
Share on other sites
1 час назад, Yaroslav Brovin сказал:

Если какого-то Андроид апи не хватает, я всегда могу его добавить в ближайший релиз. только дайте мне знать, чего не хватает.

Да, если можно, расширьте пожалуйста TJClass, тамошним RTTI

А именно

getDeclaredFields

getDeclaredMethods

Многие вещи можно решить через них

З.Ы. Я ни минуты не пожалел , что перешел на Вашу библиотеку, Ваша TfgCollectionView, это  фантастика 80К объектов, и все на карте (но это уже мое), просто праздник какой-то.

 

  • Like 2

Share this post


Link to post
Share on other sites
11 часов назад, Stas сказал:

З.Ы. Я ни минуты не пожалел , что перешел на Вашу библиотеку, Ваша TfgCollectionView, это  фантастика 80К объектов, и все на карте (но это уже мое), просто праздник какой-то.

А можно скриншот - о каких 80К объектах идет речь? Стало интересно...

Share this post


Link to post
Share on other sites
31 минуту назад, Cinemaizer сказал:

А можно скриншот - о каких 80К объектах идет речь? Стало интересно...

image.thumb.png.9b347d3929db594163eb5766c658ab7f.png

  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)

Добрый вечер всем!

На основании примера @Stas создал свой botton sheets, выведя его в отдельную форму. Визуально вроде все нормально, но возникла одна проблема, у меня внутри этого шита есть коллекшнВью и сверху заголовок лейаут, теперь чтобы закрыть bottom sheet нужно потянуть за заголовок вниз это нормально работает. Но как реализовать чтобы можно было тянуть не только за заголовок, но и за сам КоллекшнВью, так как он реагирует только на свои события, пытался на него повесить событие тач, не получается.

Пример прилагаю. Может есть у кого какие мысли? В родном Botton Sheete его можно закрыть потянув не только за заголовок но и за содержимое.

На картинке зеленая область перемещается, красная нет, необходимо научить перемещать шит по красной области.

BottomSh.jpeg

 

 

 

BottomSheets.zip

Edited by knsg12

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...