Andrew

Пользователи
  • Публикаций

    23
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Andrew стал победителем дня 26 октября 2015

Andrew имел наиболее популярный контент!

Информация о Andrew

  • Звание
    Пользователь

Информация

  • Пол
    Мужчина
  • Город
    Minsk

Посетители профиля

534 просмотра профиля
  1. Очень просто: ====================== program Project1; uses System.StartUpCopy, FMX.Forms, Androidapi.Helpers, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin TAndroidHelper.Activity.setRequestedOrientation(TJActivityInfo.JavaClass.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. ====================== Если укажите SCREEN_ORIENTATION_SENSOR_PORTRAIT, то будет только портретная ориентация, но картинка переворачивается на InvertedPortrait только на планшетах.
  2. Пока в Delphi нет такой нужной компоненты как ViewPager: http://developer.android.com/training/animation/screen-slide.html
  3. Andrew

    Сглаживание у TImage

    У TImage есть свойство DisableInterpolation ===================================== Image1.DisableInterpolation:= False;
  4. Andrew

    Устройства с Intel Atom

    Lenovo TAB S8-50LC на базе процессора Intel Atom Z3745 - http://fire-monkey.ru/topic/1416-tform-на-планшетах-android/
  5. При работе с Listbox мне приходится использовать RecalcSize. Вообще, для лучшего понимания проблемы вы лучше нарисуйте что хотели бы видеть и что реально получаете.
  6. Andrew

    Шрифт с обводкой

    Попробуйте TGlowEffect:
  7. var ScreenService: IFMXScreenService; begin ScreenService:= TPlatformServices.Current.GetPlatformService(IFMXScreenService) as IFMXScreenService; ScreenService.SetScreenOrientation([TScreenOrientation.Landscape]); end;
  8. Andrew

    Bug fix list for RAD Studio 10 Seattle Update 1

    Я получил Seattle по подписке. Информации действительно мало, приходилось точно так возмущаться и вытягивать ответы от Embarcadero по телефону. В общем, пока действует подписка, можете скачивать обновления и новые версии. Поэтому подписка меня полностью удовлетворяет.
  9. Andrew

    Bug fix list for RAD Studio 10 Seattle Update 1

    Обратитесь к тем, у кого приобретали Delphi. Летом на Allsoft я оформил "Update Subscription" поскольку посчитал, что проще платить раз в год и получать обновления и новые версии, чем платить за отдельные версии без обновлений, от которых все равно проку мало. Учитывая, что развитие мобильных платформ и, следовательно, Delphi идет очень быстрыми темпами, это лучший вариант. Помнится, во времена Windows не было большой необходимости часто обновлять Delphi (до сих пор еще разрабатываю на D7).
  10. Может вам это поможет: http://www.jvesoft.com/wp/custom-ios-device-rotation. По аналогии попробуйте сделать и для Android.
  11. Andrew

    Установка ScrollViewPos после добавления ListViewItem

    Type THackListBox = type TListBox; Procedure TMainForm.Scroll_ListBox_to_Top; begin THackListBox(MyListBox).VScrollBar.Value:= 0; // Прокрутка к первому Item end; На основе этого можно прокручивать к произвольному Item, исходя из суммы высот предыдущих. Впрочем для вашего случая достаточно и ScrollViewPos, но нужно после создания Item добавлять RecalcSize.
  12. Нашел и устранил последнюю проблему планшета Lenovo TAB S8-50LC (CPU Intel Atom). Не исключаю, что подобная проблема возникает и на других устройствах. При изменении ориентации устройства картинка поворачивается моментально. Возможно поэтому в 9 случаях из 10 программа не успевала на это правильно реагировать и форма в портретной ориентации отображалась как альбомная и наоборот. В общем, это выглядело крайне неприятно: Нужно в процедуре "TPlatformAndroid.HandleAndroidCmd(ACmd: Int32);" найти строки: =============== APP_CMD_CONFIG_CHANGED: begin FContentRectMightHaveChanged := ContentRectChangeRefreshCount; // <<---- !!!! FOrientationMightHaveChanged := True; Include(FAppCmdStates, TAndroidAppCmdState.ConfigChanged); end; =============== и в отмеченной строке умножить ContentRectChangeRefreshCount на 3 или 4: FContentRectMightHaveChanged := ContentRectChangeRefreshCount * 4; После этой поправки и исправлений от "Magnum Labs" (см. выше) форма отображается правильно, сколько планшет не крути. На скорость работы приложения это никак не отразилось. Проверялось также на нескольких аппаратах Samsung. Если будет интересно, в следующий раз расскажу как устранить проблему ненужного появления NavigationBar если кликнуть по TMediaPlayerControl или TWebBrowser, а также странной анимации появления/скрытия указанных компонент при изменении их свойства Visible. Проблема с NavigationBar касается устройств, у которых имеется SoftKey.
  13. В Magnum Labs опубликовали решение проблемы с отображением верхней части формы для Android-устройств с процессором Intel x86. Раньше она уезжала под статус бар. Как и предполагалось, требуется внести поправки в FMX.Platform.Android. Для устранения проблемы необходимо: ================================== 1) скопировать файл FMX.Platform.Android.pas в папку с проектом; 2) внести заменить "родную" функцию function TWindowManager.RetrieveContentRect: TRect; на приведенную ниже и перекомпилировать проект: function TWindowManager.RetrieveContentRect: TRect; var Activity: JActivity; NativeWin: JWindow; DecorView: JView; ContentRectVisible, ContentRect: JRect; begin Activity := SharedActivity; if Activity <> nil then begin NativeWin := Activity.getWindow; if NativeWin <> nil then begin FStatusBarHeight := FNewContentRect.Top; ContentRect := TJRect.Create; DecorView := NativeWin.getDecorView; DecorView.getDrawingRect(ContentRect); // Fix by Flying Wang & CallInUIThread( procedure begin if (not PlatformAndroid.GetFullScreen(nil)) and (SharedActivity.getWindow.getAttributes.Flags and TJWindowManager_LayoutParams.JavaClass.FLAG_FULLSCREEN <> TJWindowManager_LayoutParams.JavaClass.FLAG_FULLSCREEN) then begin // http://www.2cto.com/kf/201307/227536.html ContentRectVisible := TJRect.Create; DecorView.getWindowVisibleDisplayFrame(ContentRectVisible); if (ContentRect.Top < 1) or (ContentRectVisible.Top < FStatusBarHeight) then begin ContentRect.Top := ContentRectVisible.Top; FNewContentRect.Top := ContentRectVisible.Top; FStatusBarHeight := FNewContentRect.Top; end; end; end); Result := TRect.Create(Round(FNewContentRect.Left / FScale), Round(FNewContentRect.Top / FScale), Round(ContentRect.Right / FScale), Round(ContentRect.Bottom / FScale)); end; end; end; Ссылка на источник: https://magnumlabs.wordpress.com/2015/10/10/delphiandroid-misalignment-status-bar-on-intel-based-devices/
  14. Andrew

    Слайдер для двух TImage

    Да, TViewPager очень не хватает - http://fire-monkey.ru/topic/1392-tviewpager/
  15. Для Android вычисляйте диагональ сами: =================================== Diagonal_in_Inch:= Sqrt(Sqr(DeviceMetricsService.GetDisplayMetrics.PhysicalScreenSize.Width) + Sqr(DeviceMetricsService.GetDisplayMetrics.PhysicalScreenSize.Height)) / DeviceMetricsService.GetDisplayMetrics.PixelsPerInch;