rustam_d Опубликовано 8 августа, 2015 Поделиться Опубликовано 8 августа, 2015 Кто нить делал сабж в FMX? Интересует красивое решение. На vcl это конечно Screen.Cursor типа crHourglas, crSqlWait и т.к. В своем проекте сделал пока на Toast от Roland Kossow. Хоть и работает Но чую отдает глупостью... Может какие то анимации лучше юзать, но незнаю как. procedure TfmMain.ShowText(const aTxt: string; const aType: byte = 0); begin case aType of 0: tsMain.Duration := 3000; 1: tsMain.Duration := 60000; 2: tsMain.Duration := 1; end; tsMain.Now(aTxt); end; ShowText('Загрузка...',1); try ...долгая процедура finally ShowText('Загрузка...',2); end; Цитата Ссылка на комментарий
0 FIL Опубликовано 8 августа, 2015 Поделиться Опубликовано 8 августа, 2015 Посмотри это http://docwiki.embarcadero.com/Libraries/XE8/en/FMX.StdCtrls.TAniIndicator Цитата Ссылка на комментарий
0 rustam_d Опубликовано 8 августа, 2015 Автор Поделиться Опубликовано 8 августа, 2015 Посмотри это http://docwiki.embarcadero.com/Libraries/XE8/en/FMX.StdCtrls.TAniIndicator Спасибо! Юзать так вроде надо. AniIndicator1.Visible := True; AniIndicator1.Enabled := True; Вопрос, а как его показывать поверх всех окон? Он сам по себе stayontop? Или через popup ? Цитата Ссылка на комментарий
0 FIL Опубликовано 8 августа, 2015 Поделиться Опубликовано 8 августа, 2015 Управление осуществляется св-вом Enabled. Чтобы было поверх всех окон, можно бросить его на прозрачную форму со стилем stayontop. Ну или прямо на форме приложения выводить. Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 9 августа, 2015 Модераторы Поделиться Опубликовано 9 августа, 2015 TRectange - TAniIndicator -> VertCenter - TLabel = Загрузка -> MostBottom Выставь высоту и ширину, цвет для TRectangle При показе TRectange.Visible:= true; TRectange.BringToFront; TAniIndicator.Enabled := true; При скрытий TAniIndicator.Enabled := false; TRectange.Visible:= false; Цитата Ссылка на комментарий
0 rustam_d Опубликовано 10 августа, 2015 Автор Поделиться Опубликовано 10 августа, 2015 (изменено) TRectange - TAniIndicator -> VertCenter - TLabel = Загрузка -> MostBottom Выставь высоту и ширину, цвет для TRectangle ZuBy спасибо за идею! Вот мой код для рантайма. На винде великовато смотрится, а в андроид самое то. FMX.Objects, FMX.StdCtrls, FMX.Controls.Presentation; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } pRect: TRoundRect; pInd: TAniIndicator; pIndLabel: TLabel; procedure ShowWait(const aWait: Boolean); end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.FormCreate(Sender: TObject); begin pRect := TRoundRect.Create(Self); pRect.Height := 50; pRect.Width := 150; pRect.Position.X := (Self.Width/2)-pRect.Width/2; pRect.Position.Y := (Self.Height/2)-pRect.Height; pRect.Parent := Self; //pRect.Fill.Color := TAlphaColorRec.Steelblue; //Цвет фона если нужен pRect.Stroke.Color := pRect.Fill.Color; //не хочу окантовку pRect.Visible := false; pInd := TAniIndicator.Create(pRect); pInd.Parent := pRect; pInd.Align := TAlignLayout.Top; pInd.Height := 25; pIndLabel := TLabel.Create(pRect); pIndLabel.Parent := pRect; pIndLabel.Align := TAlignLayout.Bottom; pIndLabel.TextAlign := TTextAlign.Center; pIndLabel.Text := 'Загрузка...'; end; procedure TForm1.ShowWait(const aWait: Boolean); begin pRect.Visible := aWait; pInd.Enabled := aWait; if aWait then pRect.BringToFront; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowWait(not pRect.Visible); end; Изменено 10 августа, 2015 пользователем rustam_d Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 10 августа, 2015 Модераторы Поделиться Опубликовано 10 августа, 2015 pIndLabel.Text := ' Загрузка...'; //пробелы...т.к. кривовато а чем HorzAlign не угодил? Цитата Ссылка на комментарий
0 rustam_d Опубликовано 10 августа, 2015 Автор Поделиться Опубликовано 10 августа, 2015 pIndLabel.Text := ' Загрузка...'; //пробелы...т.к. кривовато а чем HorzAlign не угодил? припарился )...поправил Цитата Ссылка на комментарий
0 krapotkin Опубликовано 11 августа, 2015 Поделиться Опубликовано 11 августа, 2015 а чем готовые компоненты fgx от отца-основателя не понравились ? Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 11 августа, 2015 Администраторы Поделиться Опубликовано 11 августа, 2015 :-) Как минимум, потому что нет версии для OSX и Windows.... Цитата Ссылка на комментарий
0 rustam_d Опубликовано 12 августа, 2015 Автор Поделиться Опубликовано 12 августа, 2015 до fgx не дошел ) но может и поюзаю позже как приспичит, опыт на fmx 2 мес ), под OSX и Винду на фмх не требуют заказчики пока...иоса и дроида заглаза. вот думаю на базе сабжа сделать Toast, добавить просто таймер...делал так кто? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 12 августа, 2015 Модераторы Поделиться Опубликовано 12 августа, 2015 есть нативный способ отображения Toast'a, могу пример скинуть Цитата Ссылка на комментарий
0 rustam_d Опубликовано 12 августа, 2015 Автор Поделиться Опубликовано 12 августа, 2015 есть нативный способ отображения Toast'a, могу пример скинуть если и для иоса работает, то выложите пожалуйста. Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 12 августа, 2015 Модераторы Поделиться Опубликовано 12 августа, 2015 нет нативно только для Android, в IOS есть Toast? Цитата Ссылка на комментарий
0 rustam_d Опубликовано 12 августа, 2015 Автор Поделиться Опубликовано 12 августа, 2015 нет нативно только для Android, в IOS есть Toast? ну вот и я о том же...браина код то все знают...а робин сделал как у нас по сабжу..) так что через сабж стоит самому. Цитата Ссылка на комментарий
0 rustam_d Опубликовано 16 августа, 2015 Автор Поделиться Опубликовано 16 августа, 2015 pIndLabel.Text := ' Загрузка...'; //пробелы...т.к. кривовато а чем HorzAlign не угодил? ZuBy, вопрос не решен с курсором...решение отменил. На простое нажатие ShowWait работает норм. А если где то в операциях загрузки чего то из БД или еще откуда...ничего не появляется. Пробовал дописать pRect.UpdateRect и pRect.Repaint не помогает. Походу через лайоты как то надо решать вопрос... Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 16 августа, 2015 Модераторы Поделиться Опубликовано 16 августа, 2015 Потоки пробовали использовать? Цитата Ссылка на комментарий
0 rustam_d Опубликовано 16 августа, 2015 Автор Поделиться Опубликовано 16 августа, 2015 Потоки пробовали использовать? на vcl пробовал...но тут даже не знаю с какой стороны подойти Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 16 августа, 2015 Модераторы Поделиться Опубликовано 16 августа, 2015 Почтамте в интернете про потоки и синхронизации Цитата Ссылка на комментарий
Вопрос
rustam_d
Кто нить делал сабж в FMX? Интересует красивое решение.
На vcl это конечно Screen.Cursor типа crHourglas, crSqlWait и т.к.
В своем проекте сделал пока на Toast от Roland Kossow.
Хоть и работает Но чую отдает глупостью...
Может какие то анимации лучше юзать, но незнаю как.
Ссылка на комментарий
18 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.