|
|
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите, пожалуйста. Приложение через интернет получает сведения и показывает их в listbox. Хочется сделать как у людей - вращающийся кружок по центру, пока приходят данные и заполняется listbox. Сделал через TTask.Run, делаю видимым layer с arc, нашел в интернетах, работает. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. Но: интернет, на котором тестируется, довольно медленный, список, который заполняется, довольно большой, а телефон, на котором тестирую, довольно старый. Для заполнения listbox приходится использовать Synchronize, иначе валятся ошибки (видимо как в windows нельзя заполнять визуальные компоненты из потока). И получается так, что пока работает idHttp - кружок вращается плавно, а потом, когда заполняются данные, кружок стоит. Это все явно не правильно ) Подскажите, как правильно сделать панельку ожидания с плавно вращающимся кружком, без запинаний? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 07:47 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Devillio, а подскажите, после заполнения списка, поток ещё нужен? Если нет, то наверное лучше дождаться данных из потока и заполнить список не из потока... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 08:21 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
goldmi45, да, так и есть же. В потоке получаем данные (wait крутится плавно), не в потоке данные заполняем (wait не крутится, ждет заполнения). Но список заполняется не мгновенно, почти секунду на моем стааареньком lg leon. Очень хочется, чтобы wait крутился на всем этапе - от получения до полного заполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 08:28 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
только если заполнять маленькими порциями через Synchronize. других вариантов в голову не приходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 09:04 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Да, заполнять порциями. Это помимо визуальной отзывчивости поможет избежать ANR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 11:29 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Василий 2, что такое ANR? Гугл тоже не знает ) Переделал на порционность, перестает работать ListBox.BeginUpdate и ListBox.EndUpdate (я их тоже в отдельных Synchronize запускал). Если их убрать, то да, работает. Чуууточку подергивается, но вращается. Вместо BeginUpdate пришлось использовать Visible := False; иначе видно как каждый Item прогружается. Но имхо это не так должно делаться. В других приложениях такие задержки красиво ровно без рывков вращаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 12:38 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Devillio, Application Not Responding Проложение не отвечает - хотите его закрыть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 12:40 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Cobalt747, благодарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 12:43 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
DevillioВасилий 2, что такое ANR? Гугл тоже не знает ) Какой-то у тебя странный гугл... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 14:40 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Можно и скорее всего будет разумнее грузить пачками по нескольку элементов. Что же касается плавности анимации, можно и от обратного пойти - крутить ее в отдельном треде, а в список грузить в основном (не знаю, реализуемо ли такое в Андроид). Все равно анимация модальная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 14:44 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Василий 2, если ты часто роешься по андроидной доке - гугл это запоминает У меня, например, это только третья ссылка, а сначала идут Сбои и ошибки ANR ("Приложение не отвечает") - Cправка - Play ... https://support.google.com/googleplay/.../6083203?hl... В Play Console можно посмотреть информацию о сбоях приложений и ошибках ANR ("Приложение не отвечает"). Сведения поступают с устройств ... ANR — Википедия https://ru.wikipedia.org/wiki/ANR ANR — аббревиатура с рядом значений, в частности: Аккинени Нагесвара Рао (1923—2014) — индийский актёр и продюсер, наиболее влиятельная ... а DDG, который типа как "не шпионит за вами" и того разнообразнее Urban Dictionary: ANR/ABF www.urbandictionary.com/define.php?term=ANR/ABF ANR/ABF stands for: A Nursing Relationship/Adult Breast Feeding. ANR/ABF refers to a relationship involving sucking milk from the female breast as an expression of close intimacy. Adult Nursing Relationships depend on a stable and long term relationship of the couple, otherwise it is nearly impossible to maintain a steady milk flow. Dreams of Milk | ABF ANR - Adult Nursing Relationships dreamsofmilk.com Dreams of Milk is a community devoted to couples and singles alike that wish to experience the benefits and intimacy of the ANR/ABF lifestyle. ANR - What does ANR stand for? The Free Dictionary acronyms.thefreedictionary.com/ANR UC ANR leadership also supported the establishment of a climate change program team in 2015, with the primary goal of building capacity within UC Cooperative Extension to better serve the public in addressing climate change impacts and adaptation challenges. Home | Agency of Natural Resources anr.vermont.gov To preserve, enhance, restore and conserve Vermont's natural resources and protect human health for the benefit of this and future generations. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 14:47 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Василий 2плавности анимации, можно и от обратного пойти - крутить ее в отдельном треде а её вообще надо крутить??? нельзя просто сделать animated PNG или GIF ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 14:48 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Ariochа её вообще надо крутить??? нельзя просто сделать animated PNG или GIF ? А animated PNG или GIF, по-твоему, Пушкин крутит? Те же самые вторичные потоки либо таймер в главном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 16:01 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Василий 2, Ну так это уже ОС будет с теми потоками разбираться с вторичными, нет? чем самому велосипедить втёмную - использовтаь готовые? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 17:22 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
Отказаться от использования Synchronize. Пусть основной поток крутит кружек, ожидая поступления информации от расчетного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 18:02 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
AriochВасилий 2, Ну так это уже ОС будет с теми потоками разбираться с вторичными, нет? чем самому велосипедить втёмную - использовтаь готовые? Разве что в Андроиде есть готовый компонент/функция "семицветика"... На виндах, емнип, анимации крутились из главного потока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 10:51 |
|
||
|
FMX, android, вращающийся кружок "ожидания"
|
|||
|---|---|---|---|
|
#18+
В общем, если кому потребуется: Лучше использовать ListView, чем ListBox ListView забайндить с ClientDataSet. Последний без ошибок заполняется из потока. Делаем DisableControls, EnableControls (эти через Synchronize). А между ними - заполняем. Работает намного быстрее, кружок крутится плавно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 16:27 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39789998&tid=2039664]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
145ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 421ms |

| 0 / 0 |
