Alex7wrt
-
Постов
508 -
Зарегистрирован
-
Посещение
-
Победитель дней
31
Активность репутации
-
Alex7wrt получил реакцию от Alexey Belyaev в Портетная и альбомная ориентация - как лучше сделать разный дизайн?
В событии OnResize формы проверять width > height и для каждого из двух вариантов переприсваивать позиции и размеры тех контролов, которые должны меняться.
-
Alex7wrt получил реакцию от Ingalime в [Статья][AdMob] Добавляем рекламный блок в приложение
http://www.tahribat.com/forum/android---delphi-xe7-firemonkey-admob-interstitial-204528
-
Alex7wrt получил реакцию от Barbanel в 9-Patch PNG FMX Generator
Сделал небольшую программу-генератор 9-patch заставок.
Достаточно выбрать цвет фона, логотип и его видимый размер, и программа сгенерирует 9-patch для всех необходимых в FMX размеров.
Примеры
Рисунок:
Полученные 9-Patch png:
Рисунок:
Полученные 9-Patch png:
Исходники: 9Patch Generator.zip
-
Alex7wrt получил реакцию от Ingalime в 9-Patch PNG FMX Generator
Сделал небольшую программу-генератор 9-patch заставок.
Достаточно выбрать цвет фона, логотип и его видимый размер, и программа сгенерирует 9-patch для всех необходимых в FMX размеров.
Примеры
Рисунок:
Полученные 9-Patch png:
Рисунок:
Полученные 9-Patch png:
Исходники: 9Patch Generator.zip
-
Alex7wrt получил реакцию от Евгений Корепов в Выполнение операции после скрытия меню
TForm.Invalidate
-
Alex7wrt получил реакцию от Станислав Матушевский в 9-Patch PNG FMX Generator
Сделал небольшую программу-генератор 9-patch заставок.
Достаточно выбрать цвет фона, логотип и его видимый размер, и программа сгенерирует 9-patch для всех необходимых в FMX размеров.
Примеры
Рисунок:
Полученные 9-Patch png:
Рисунок:
Полученные 9-Patch png:
Исходники: 9Patch Generator.zip
-
Alex7wrt получил реакцию от Ingalime в Приложение не реагирует на любые действия
Google USB Driver входит в состав Android SDK. Кроме него вам ничего не нужно.
При подключении по USB достаточно, чтобы телефон был в режиме "Зарядка".
-
Alex7wrt получил реакцию от Barbanel в android:minSdkVersion после 1 августа
Манифест нужно редактировать только в одном месте - в файле AndroidManifest.template.xml, который лежит непосредственно в папке вашего проекта
На основе этого файла генерируется файл манифеста, который добавляется к приложению.
-
Alex7wrt получил реакцию от Barbanel в android:minSdkVersion после 1 августа
Так как с 1 августа Google требует указывать targetSdkVersion 28 и выше, то логично будет использовать 28-ю версию.29-я это Android 10, который еще не вышел официально. Думаю, проблем с ней не должно быть, но я бы повременил с ее использованием.
Обратите внимание, что использование все более новых targetSdkVersion может приводить к некоторым ограничениям, которые вводит Google в новых версиях андроида.
Например, при переходе на targetSdkVersion 28 вы обнаружите, что ссылки, начинающиеся на "http" считаются небезопасными и по умолчанию не обрабатываются. Рекомендуется повсеместно переходить на "https".
Так что, если вы в каком-нибудь THTTPClient или где-либо еще выполняли запрос на "http", а после перехода на targetSdkVersion 28 обнаружили, что ваш код перестал работать, то либо переходите на "https", либо, если все же необходимо выполнять запрос на "http", внесите изменения в файле манифеста: в разделе application нужно добавить строку android:usesCleartextTraffic="true".
-
Alex7wrt получил реакцию от Barbanel в android:minSdkVersion после 1 августа
Название SDK Version в FMX остается таким каким было при первой установке и не меняется при обновлении Android SDK. Если вы исправно обновляете Android SDK, то в SDK менеджере вы можете указать последние версии ZipAlign Location и Aapt Location, в частности 28.
-
Alex7wrt получил реакцию от Barbanel в android:minSdkVersion после 1 августа
В справке Google говорится исключительно о targetSdkVersion, а не о minSdkVersion. И targetSdkVersion="26" - это условие для прошлого года. В этом году нужно писать targetSdkVersion="28"
-
Alex7wrt получил реакцию от Ingalime в android:minSdkVersion после 1 августа
Манифест нужно редактировать только в одном месте - в файле AndroidManifest.template.xml, который лежит непосредственно в папке вашего проекта
На основе этого файла генерируется файл манифеста, который добавляется к приложению.
-
Alex7wrt отреагировална Ingalime в android:minSdkVersion после 1 августа
Большое спасибо!!! Теперь понятно.
P.S.
На эмуляторе программа "Hello word!" отработала при 28 версии, а zipalign.exe и aapt.exe = 29
-
Alex7wrt получил реакцию от Ingalime в android:minSdkVersion после 1 августа
Должно работать, но я бы везде использовал 28-ю версию, включая zipalign.exe и aapt.exe.
-
Alex7wrt получил реакцию от Ingalime в android:minSdkVersion после 1 августа
Так как с 1 августа Google требует указывать targetSdkVersion 28 и выше, то логично будет использовать 28-ю версию.29-я это Android 10, который еще не вышел официально. Думаю, проблем с ней не должно быть, но я бы повременил с ее использованием.
Обратите внимание, что использование все более новых targetSdkVersion может приводить к некоторым ограничениям, которые вводит Google в новых версиях андроида.
Например, при переходе на targetSdkVersion 28 вы обнаружите, что ссылки, начинающиеся на "http" считаются небезопасными и по умолчанию не обрабатываются. Рекомендуется повсеместно переходить на "https".
Так что, если вы в каком-нибудь THTTPClient или где-либо еще выполняли запрос на "http", а после перехода на targetSdkVersion 28 обнаружили, что ваш код перестал работать, то либо переходите на "https", либо, если все же необходимо выполнять запрос на "http", внесите изменения в файле манифеста: в разделе application нужно добавить строку android:usesCleartextTraffic="true".
-
Alex7wrt получил реакцию от Ingalime в android:minSdkVersion после 1 августа
Название SDK Version в FMX остается таким каким было при первой установке и не меняется при обновлении Android SDK. Если вы исправно обновляете Android SDK, то в SDK менеджере вы можете указать последние версии ZipAlign Location и Aapt Location, в частности 28.
-
Alex7wrt получил реакцию от qz5 в android:minSdkVersion после 1 августа
В справке Google говорится исключительно о targetSdkVersion, а не о minSdkVersion. И targetSdkVersion="26" - это условие для прошлого года. В этом году нужно писать targetSdkVersion="28"
-
Alex7wrt получил реакцию от Ingalime в android:minSdkVersion после 1 августа
В справке Google говорится исключительно о targetSdkVersion, а не о minSdkVersion. И targetSdkVersion="26" - это условие для прошлого года. В этом году нужно писать targetSdkVersion="28"
-
Alex7wrt отреагировална krapotkin в Фреймворк для стандартного ListView
Всем привет!
После долгого творческого запоя я запилил альфу либы, которая позволяет юзать обычный, не-генномодифицированный ListView.
Данные подаются в виде модели данных, описание раскладки итема лежит в JSON.
Для работы пишется примитивный наследник класса-адаптера, который биндит данные модели на элементы из JSON. Я решил, что руками делать это дешевле чем через RTTI
{ TMyAdapter } procedure TMyAdapter.SetupDrawableContent(const ADrawable: TListItemDrawable; const AData: TMyData); begin if SameText( ADrawable.Name, 'text') then begin (ADrawable as TListItemText).Text := AData.Text; end else if SameText( ADrawable.Name, 'detail') then begin (ADrawable as TListItemText).Text := AData.Detail; end else if SameText( ADrawable.Name, 'balance') then begin (ADrawable as TListItemText).Text := FormatFloat('0.00', AData.Balance); end else if SameText( ADrawable.Name, 'reserved') then begin (ADrawable as TListItemText).Text := FormatFloat('0.00', AData.Reserved); end end; Главная хитрость и отличие от стандартного DynamicAppearance+LiveBinding - переменная высота итемов ListView и использование арифметики в описании раскладки.
Можно указать Detail.Y = Text.Bottom + 5, ItemHeight = Detail.Bottom + 10, Detail.W = ItemWidth/2 - X
{"Kind":"rect","Name":"BonusRect","Value":"", "Place":{"X":"itemwidth*3/4","Y":"Text.Y","W":"ItemWidth/4-5","H":"50"}, "BorderColor":"#FF005500", "Color":"lime", "LineWidth":3}, {"TextHAlign":2,"TextVAlign":1,"Kind":"text","Name":"Balance","Value":"", "Place":{"X":"BonusRect.x+5","Y":"Text.Y","W":"BonusRect.w-10","H":"50"}, "WordWrap":true, "Color" :"Black", "Font":{"Size":18,"Style":""}} ], "ItemHeight":"detail.bottom+10", Это дает довольно гибкую систему. Не на все случаи жизни, но все, что нужно, можно после автоматической раскладки дополнительно приписать в OnUpdateObjects
Код для работы примерно такой
procedure TForm1.FormCreate(Sender: TObject); begin data:= TMyDataList.CreateFromFile(ExePath()+'data.json'); // загрузка в модель данных Adapter := TMyAdapter.Create(lvWallets, data.Items, ExePath()+'pattern.json'); // создание адаптера и загрузка шаблона Adapter.Pattern.SetupListView(lvWallets); // задать отступы и разную мелочь Adapter.ResetView(); // здесь в цикле из модели данных создается нужное количество итемов ListView end; procedure TForm1.lvWalletsUpdatingObjects(const Sender: TObject; const AItem: TListViewItem; var AHandled: Boolean); begin Adapter.SetupContent(AItem); // загрузить текст, картинки и другое содержимое в элементы итема Adapter.Pattern.DoLayout(AItem); // поправить раскладку в соответствии с содержимым элементов итема end; Для использования кроме стандартных - текст, картинка, кнопка - создано несколько дополнительных элементов итема - прямоугольник, круг, уголок, линия.
Отличие от ModernLV - ,
1) все происходит без правки системных файлов
2) пока нет колонок и других особых изысков.
На результат работы смотреть тут. Исходники пока не причесаны, будут чуть позже
UPD.
ссылки на репозитории ниже
-
Alex7wrt отреагировална Евгений Корепов в Подключение Admob к iOS
Я еще тупее чем думал. После нажатия "Update Local File Cache" все фреймворки подсосались сами с Mac mini ))))))))))))))
-
Alex7wrt получил реакцию от Anatoliy в Подключение Admob к iOS
Получилось, но только с подключением дополнительных фреймворков. Использовал JVEsuite.
-
Alex7wrt получил реакцию от Евгений Корепов в Подключение Admob к iOS
Получилось, но только с подключением дополнительных фреймворков. Использовал JVEsuite.
-
Alex7wrt получил реакцию от MrAnderson в Что невозможно сделать на Delphi для Android?
Первый раз слышу о проблемах с TThread.Synchronize.
-
Alex7wrt получил реакцию от Ingalime в Delphi Seattle и Google Play 2019
Написанию 64-битных приложений не удовлетворяет ни одна версия Rad Studio, включая и ту, которая еще не вышла (10.3). В планах Embarcadero добавить поддержку 64 бит под Android позже в 19-м году.
Думаю, механизм внедрения этой фичи будет такой же, как сейчас с TargetSDK. То есть старые приложения, уже размещенные в маркете, никто трогать не будет, но обновления и новые приложения уже нельзя будет выпускать только в 32-битном исполнении.
-
Alex7wrt получил реакцию от Morev в Delphi Seattle и Google Play 2019
Написанию 64-битных приложений не удовлетворяет ни одна версия Rad Studio, включая и ту, которая еще не вышла (10.3). В планах Embarcadero добавить поддержку 64 бит под Android позже в 19-м году.
Думаю, механизм внедрения этой фичи будет такой же, как сейчас с TargetSDK. То есть старые приложения, уже размещенные в маркете, никто трогать не будет, но обновления и новые приложения уже нельзя будет выпускать только в 32-битном исполнении.