XXXXXX
-
Постов
46 -
Зарегистрирован
-
Победитель дней
2
Активность репутации
-
XXXXXX получил реакцию от afors в GCM
procedure TForm1.Button1Click(Sender: TObject); var AJson: TJSONObject; AJsonData: TJSONObject; ARegisterIds:TJSONArray; AData, AResponseContent:TSTringStream; DeviceToken:String; begin ARegisterIds := TJSONArray.Create; AJson := TJSONObject.Create; try DeviceToken := 't2uIvqpZ_o7u3sUxCBBAICxaRuj05mgHaGWY6x6Dwd3oYnwAEoSY5vl1BkcLzfLt4TPbNbFxr7WCKW5IictG_QCMTqSQ7QEp-mk-g9OG0CHaE5Rx01FT51Zc5om'; ARegisterIds.Add(DeviceToken); AJsonData := TJSONObject.Create; AJsonData.AddPair('id', ID.ToString()); ID := ID + 1; AJsonData.AddPair('message', Edit1.Text); AJson.AddPair('registration_ids', ARegisterIds); AJson.AddPair('data', AJsonData); IdHTTP1.Request.ContentType := 'application/json'; IdHTTP1.Request.CustomHeaders.AddValue('Authorization', 'key=AIzaSyBuYtgzrIE6Z-AQobRf1-taJOl6CdWUfL8'); AData := TStringStream.Create(AJson.ToString); AData.Position := 0; AResponseContent := TStringStream.Create('', TEncoding.UTF8); IdHTTP1.Post('https://android.googleapis.com/gcm/send', AData, AResponseContent); AResponseContent.Position := 0; Memo1.Lines.Add(AResponseContent.DataString); finally end; end; до записи в AData которую потом пересылаю через IdHttp, в AJson все символы отображаются отлично.
-
XXXXXX получил реакцию от zairkz в Gif File
Здравствуйте. Есть один вариант с использованием TBitmapListAnimation:
Кидаем обычный TImage на форму. Под TImage создаём TBitmapListAnimation.
Структура должна выглядеть так:
В свойствах TBitmapListAnimation: AnimationBitmap - загружаем ленту картинок. Например: Для коротких Gif -ок можно использовать онлайн конверторы:
http://ezgif.com/split - разделение Gif на отдельные фреймы (картинки)
http://www.photojoiner.net/merge-photos/editor/# - соединение нескольких картинок в одну (соединяет до 8 штук)
AnimationCount - сколько раздельных картинок в нашей объеденённой по горизонтали (в нашем слечае 8) AnimationRowCount - сколько рядов в нашей картинке (в нашем случае 1) Enabled = True Duration - указываем промежуток времени, которое должна занимать гифка (в секундах). PropertyName - прописываем Bitmap
-
XXXXXX получил реакцию от Евгений Корепов в Gif File
Здравствуйте. Есть один вариант с использованием TBitmapListAnimation:
Кидаем обычный TImage на форму. Под TImage создаём TBitmapListAnimation.
Структура должна выглядеть так:
В свойствах TBitmapListAnimation: AnimationBitmap - загружаем ленту картинок. Например: Для коротких Gif -ок можно использовать онлайн конверторы:
http://ezgif.com/split - разделение Gif на отдельные фреймы (картинки)
http://www.photojoiner.net/merge-photos/editor/# - соединение нескольких картинок в одну (соединяет до 8 штук)
AnimationCount - сколько раздельных картинок в нашей объеденённой по горизонтали (в нашем слечае 8) AnimationRowCount - сколько рядов в нашей картинке (в нашем случае 1) Enabled = True Duration - указываем промежуток времени, которое должна занимать гифка (в секундах). PropertyName - прописываем Bitmap
-
XXXXXX получил реакцию от Kitty в Gif File
Здравствуйте. Есть один вариант с использованием TBitmapListAnimation:
Кидаем обычный TImage на форму. Под TImage создаём TBitmapListAnimation.
Структура должна выглядеть так:
В свойствах TBitmapListAnimation: AnimationBitmap - загружаем ленту картинок. Например: Для коротких Gif -ок можно использовать онлайн конверторы:
http://ezgif.com/split - разделение Gif на отдельные фреймы (картинки)
http://www.photojoiner.net/merge-photos/editor/# - соединение нескольких картинок в одну (соединяет до 8 штук)
AnimationCount - сколько раздельных картинок в нашей объеденённой по горизонтали (в нашем слечае 8) AnimationRowCount - сколько рядов в нашей картинке (в нашем случае 1) Enabled = True Duration - указываем промежуток времени, которое должна занимать гифка (в секундах). PropertyName - прописываем Bitmap
-
XXXXXX получил реакцию от Rusland в Gif File
Здравствуйте. Есть один вариант с использованием TBitmapListAnimation:
Кидаем обычный TImage на форму. Под TImage создаём TBitmapListAnimation.
Структура должна выглядеть так:
В свойствах TBitmapListAnimation: AnimationBitmap - загружаем ленту картинок. Например: Для коротких Gif -ок можно использовать онлайн конверторы:
http://ezgif.com/split - разделение Gif на отдельные фреймы (картинки)
http://www.photojoiner.net/merge-photos/editor/# - соединение нескольких картинок в одну (соединяет до 8 штук)
AnimationCount - сколько раздельных картинок в нашей объеденённой по горизонтали (в нашем слечае 8) AnimationRowCount - сколько рядов в нашей картинке (в нашем случае 1) Enabled = True Duration - указываем промежуток времени, которое должна занимать гифка (в секундах). PropertyName - прописываем Bitmap
-
XXXXXX получил реакцию от Axbor в Listbox как в сообщениях на андроиде
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде.
ListboxInteractions.zip
-
XXXXXX получил реакцию от zairkz в Обновление форума
Отличные изменения. Ещё было бы неплохо увидеть закреплённую верхнюю панель при скролле вниз, ну или плавающую кнопку которая будет скролить вверх
-
XXXXXX получил реакцию от #WAMACO в Обновление форума
Отличные изменения. Ещё было бы неплохо увидеть закреплённую верхнюю панель при скролле вниз, ну или плавающую кнопку которая будет скролить вверх
-
XXXXXX получил реакцию от Rusland в Получить уровень сигнала GSM/LTE
Код:
function TfMain.CheckMobileInternetSpeed: String; var mTelephonyManagerObj: JObject; mTelephonyManager: JTelephonyManager; mNetworkType: Integer; ReturnValue: string; begin mTelephonyManagerObj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE); mTelephonyManager := TJTelephonyManager.Wrap((mTelephonyManagerObj as ILocalObject).GetObjectID); mNetworkType := mTelephonyManager.getNetworkType(); with TJTelephonyManager.JavaClass do begin if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'GPRS' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'EDGE' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'CDMA' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := '1xRTT' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'IDEN' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'UMTS' else if mNetworkType = NETWORK_TYPE_EVDO_0 then ReturnValue := 'EVDO_0' else if mNetworkType = NETWORK_TYPE_EVDO_A then ReturnValue := 'EVDO_A' else if mNetworkType = NETWORK_TYPE_HSDPA then ReturnValue := 'HSDPA' else if mNetworkType = NETWORK_TYPE_HSUPA then ReturnValue := 'HSUPA' else if mNetworkType = NETWORK_TYPE_HSPA then ReturnValue := 'HSPA' else if mNetworkType = NETWORK_TYPE_EVDO_B then ReturnValue := 'EVDO_B' else if mNetworkType = NETWORK_TYPE_EHRPD then ReturnValue := 'EHRPD' else if mNetworkType = NETWORK_TYPE_HSPAP then ReturnValue := 'HSPAP' else if mNetworkType = NETWORK_TYPE_LTE then ReturnValue := 'LTE'; end; Result := ReturnValue; end; Советую почитать, насчёт того, какие буквы используются чтоб отобразить уровень сигнала на андроиде (G, E, H, H+ и т.д.)
П.с. учтите, что это уровень сигнала а не скорость подключения.
-
XXXXXX отреагировална AngryOwl в Поздравляю всех с Новым Годом!
Друзья!
Поздравляю вас всех с Новым Годом!
Желаю всем вам здоровья, счатья и благополучия в наступившем 2016 году!
Пожелаю всем нам успехов в наших делах, проектах, разработках!
Чтобы все у нас с вами сложилось)
Отдельно хочу поздравить Бровина Ярослава и Ефимова Андрея!
Пожелать Вам, ребята, и Вашим близким, успехов и благополучия!
Еще раз - с Новым Годом!
p.s. Надеюсь не забанят за то, что "не в тему" )))
-
XXXXXX получил реакцию от Kitty в Listbox как в сообщениях на андроиде
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде.
ListboxInteractions.zip
-
XXXXXX получил реакцию от AngryOwl в Listbox как в сообщениях на андроиде
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде.
ListboxInteractions.zip
-
XXXXXX получил реакцию от Cody71727172 в Listbox как в сообщениях на андроиде
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде.
ListboxInteractions.zip
-
XXXXXX получил реакцию от zairkz в Listbox как в сообщениях на андроиде
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде.
ListboxInteractions.zip
-
XXXXXX получил реакцию от Rusland в Listbox как в сообщениях на андроиде
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде.
ListboxInteractions.zip
-
XXXXXX получил реакцию от bigjorj в Listbox как в сообщениях на андроиде
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде.
ListboxInteractions.zip
-
XXXXXX получил реакцию от Martifan в Listbox как в сообщениях на андроиде
Если кому-нибудь понадобится Listbox такой-же как и в списке сообщений в андроиде.
ListboxInteractions.zip
-
XXXXXX отреагировална Равиль Зарипов (ZuBy) в Алфавитный скроллинг для ListView
что то типа того нужно сделать, посчитать грубо сколько Item'ов видно
Scrollbar1.Max := Value - Round(ListView1.Height / ListView1.ItemAppearance.ItemHeight); -
XXXXXX отреагировална Rusland в Алфавитный скроллинг для ListView
Кстати, стандартный ScrollBar можно спрятать, если скопировать в свой проект FMX.ListView.pas
и изменить
const ... {$IFDEF ANDROID} DefaultScrollBarWidth = 0; // вместо 7 {$ENDIF} Осталось решить проблему "слепой зоны" ползунка при скроллировании внизу списка.
PS. Ну и желательно реализовать плавность хода скроллера (
alphLVS.zip
-
XXXXXX получил реакцию от Rusland в Алфавитный скроллинг для ListView
ну тогда можно взять переменную, и переключать её когда меняется из ListView
ListView1ScrollViewChange:
ScrollBarChange := True; ScrollBar1.Value := ListView1.getFirstVisibleItemIndex; ScrollBarChange := False;
ScrollBar1Change:
if not ScrollBarChange then ListView1.ScrollTo(Round(ScrollBar1.Value));
-
XXXXXX отреагировална Rusland в Алфавитный скроллинг для ListView
Раз такое дело, то решил прикрутить к ListView ScrollBar. Сразу возникло два новых вопроса:
1.) Можно ли скрыть этот самый индикатор положения? (лучше бы конечно чтобы Embarcadero довела его до ума)
В ListBox-е вроде можно убрать c помощью ShowScrollBars (но не проверял). А как в ListView?
2.) Как при скроллировании пальцем по списку переносить в ScrollBar текущее положение ползунка?
PS. Попробовал в OnTimer написать ScrollBar1.Value:=ListView1.getFirstVisibleItemIndex;
работает, но как-то корявенько выходит
alphLVS.zip
-
XXXXXX отреагировална Rusland в Алфавитный скроллинг для ListView
Alexander616, ваш пример больше похож на вариант как это сделано в iOS, но тогда нужно чтобы весь алфавит умещался на экране. (Можно ли это сделать с ListBox?) А сейчас при скроллировании по алфавиту сам алфавит ездит туда сюда )
Вариант ZuBy больше напоминает как сделано в Android... надо только отдельный скроллер прикрутить.
Сейчас буду думать как лучше ))
Посмотрел еще раз пример ZuBy alphLB. Сейчас заметил что видно наличие ползунка скроллера (он почти сливается с фоном), но "ухватиться" за него, чтобы ускоренно скроллить, не получается.
-
XXXXXX получил реакцию от Martifan в Алфавитный скроллинг для ListView
Насколько я понял нужна такая штука
В "LBMouseUP" скрольте до того места, куда вам надо попасть
ListBoxAtoZ.zip
-
XXXXXX получил реакцию от Rusland в Алфавитный скроллинг для ListView
Не совсем понял "перемещение алфавита должно быть в обратную сторону"
в моём примере, я связал с основным, но возможно есть и более оптимальный способ. При LBMouseMove я обхожу весь основной листбокс и ищу первую запись, которая начинается на выбранную букву, скорее всего при большом количестве записей будет подвисать
PS. Если уменьшить размер лист айтема в алфавитном листбоксе, будет почти тоже самое что и в списке контактов)
ListBoxAtoZ.zip
-
XXXXXX получил реакцию от Rusland в Алфавитный скроллинг для ListView
Может ещё один листбокс с алфавитом/цифрами справа?