Перейти к содержанию
Fire Monkey от А до Я

Лидеры

  1. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      6

    • Постов

      2 517


  2. ENERGY

    ENERGY

    Пользователи


    • Баллы

      6

    • Постов

      568


  3. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      1

    • Постов

      2 124


  4. enatechno

    enatechno

    Пользователи


    • Баллы

      1

    • Постов

      181


Популярный контент

Показан контент с высокой репутацией 26.03.2017 во всех областях

  1. картинка из примера Загружаем её в BitmapListAnimation настройка BitmapListAnimation ну и не забываем BitmapListAnimation1.Enabled := true;
    3 балла
  2. Ну так сделайте что написано. Укажите Bundle ID в Version Info, ту строку что просит указать среда.
    2 балла
  3. Ну я в общем-то так и предполагал, что это для ARC для мобильных платформ сделано. В вашей статье информация по этой теме собрана воедино. Как раз этого лично мне не хватало. Спасибо огромное.
    1 балл
  4. наши картинки отличались только одним - PropertyName. У меня программа сама поставила AnimationBitmap и я ей поверил. А зря т.к. после замены на Bitmap зайчик побежал. Спасибо !
    1 балл
  5. если убрать этот стиль, то можно всю настройку делать цветом (как показано в демке) там же и задавать цвет для разделителей
    1 балл
  6. Большое спасибо за помощь, добрый человек! Еще добавлю, чтобы сменить фон Item'a (например на прозрачный) или добавить какие то рюшечки (например полоски между пунктами), на вышеуказанном примере: нужно зайти в стили, и редактировать imagesui.png файл который находится внутри контейнера listviewstyle_panel (не снаружи, т.к. там есть точно такой же). Т.е. жмем на imagesui.png > MultiresBitmap > выбираем нужный, и слева в инспекторе объектов жмем свойство Bitmap с помощью которого этот файл можно сохранить,(а потом и загрузить) на диск.
    1 балл
  7. Вы не смогли найти в вопросе слова: "Затем запустил на Lenovo и результат получился не такой красивый. Как видим, верх формы почему-то "уехал" за статус-бар, а ее свойство Top равно 0"? Там же ниже есть подбробный ответ. Нужно прочитать.
    1 балл
  8. 1) Динамическая подгрузка описана тут http://blog.rzaripov.kz/2016/12/3-modernlistview.html 2) так критические баги не фиксят, куда им до рюшечек 3) вроде поправил в последней версии (на гите)
    1 балл
  9. Сделал решение для описанного выше варианта. Добавил его на Stackoverflow unit Misc.Android; interface uses SysUtils, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers, Androidapi.JNI.JavaTypes, Androidapi.JNIBridge, Androidapi.JNI.Provider; type TGallery = class public class function GetLastImageID: integer; class function GetNextImageIDFromID(aFromID: integer; out aImagePath: string): integer; class function DeleteImageByID(aID: integer): boolean; end; implementation const _ID = '_id'; // TJBaseColumns.JavaClass._ID // uri in Androidapi.JNI.Provider { TGallery } {If you're using action TakePhotoFromCameraAction remember to set NeedSaveToAlbum to true. It does not work, because of Android problems, but it can work in future.} class function TGallery.GetLastImageID: integer; var vContent: JContentResolver; vValues: TJavaObjectArray<JString>; vOrderBy: JString; vCursor: JCursor; begin Result := -1; vContent := TAndroidHelper.Activity.getContentResolver; vValues := TJavaObjectArray<JString>.Create(1); vValues[0] := TJBaseColumns.JavaClass._ID; vOrderBy := StringToJString(_ID + ' DESC'); vCursor := vContent.query(TJImages_Media.JavaClass.EXTERNAL_CONTENT_URI, vValues, nil, nil, vOrderBy); try if vCursor.moveToFirst then Result := vCursor.getInt( vCursor.getColumnIndex(TJBaseColumns.JavaClass._ID) ); finally vCursor.close; end end; // Result is next Image ID and its aImagePath - is path to jpg image class function TGallery.GetNextImageIDFromID(aFromID: integer; out aImagePath: string): integer; var vContent: JContentResolver; vValues: TJavaObjectArray<JString>; vFilter: JString; vOrderBy: JString; vArgs : TJavaObjectArray<JString>; vCursor: JCursor; begin Result := -1; aImagePath := ''; vContent := TAndroidHelper.Activity.getContentResolver; vValues := TJavaObjectArray<JString>.Create(2); vValues[0] := TJMediaStore_MediaColumns.JavaClass.DATA; vValues[1] := TJBaseColumns.JavaClass._ID; // vValues[1] := TJMediaStore_MediaColumns.JavaClass.SIZE; // vValues[1] := TJImages_ImageColumns.JavaClass.DATE_TAKEN; vOrderBy := StringToJString(_ID + ' DESC'); vFilter := StringToJString(_ID + '>?'); vArgs := TJavaObjectArray<JString>.Create(1); vArgs[0] := StringToJString(aFromID.ToString); vCursor := vContent.query(TJImages_Media.JavaClass.EXTERNAL_CONTENT_URI, vValues, vFilter, vArgs, vOrderBy); try if (vCursor.getCount > 0) and vCursor.moveToFirst then begin Result := vCursor.getInt( vCursor.getColumnIndex(TJBaseColumns.JavaClass._ID) ); // vCursor.getLong(imageCursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN)); //vSize := wCursor.getLong(wCursor.getColumnIndex(TJMediaStore_MediaColumns.JavaClass.SIZE)); aImagePath := JStringToString(vCursor.getString( vCursor.getColumnIndex(TJMediaStore_MediaColumns.JavaClass.DATA) )); end; finally vCursor.close; end; end; class function TGallery.DeleteImageByID(aID: integer): boolean; var vContent: JContentResolver; begin vContent := TAndroidHelper.Activity.getContentResolver; Result := vContent.delete(TJImages_Media.JavaClass.EXTERNAL_CONTENT_URI, StringToJString(_ID + '=' + aID.ToString), nil) = 1; end; end.
    1 балл
  10. вот тут я делал демку по видео (источник там есть) https://github.com/sinuke/Image-Zoom-Demo
    1 балл
  11. @tromani Я имел ввиду без устройства iPhone - можно на симуляторе iOS. Но лучше где то взять реальный телефон или iPad. Конечно нужен MacOS (OSX). Вся инфраструктура iOS программирования зависима от OSX и делается только через макос, независимо от языка. Вы его можете поставить на VMWare (нужно его еще пропатчить, для macOS) - готовый образ vmware можно скачать на рутрекере. Там и все инструкции. Но для его запуска вам нужен Intel процессор, хотя там есть варианты и с AMD, но с ним больше проблем на маке. Потом можно подключить реальный iPhone и он определиться в виртуалке.
    1 балл
  12. 1). Если в design-time: Задайте для ImageViewer: Align - None, Anchors - [akTop,akRight] и разместите ImageViewer на нужном месте (с необходимыми отступами). 2). Если не ошибаюсь, то нет свойства позволяющего сделать объект постоянно поверх все компонентов, поэтому рекомендую при добавлении компонентов перекрывающих ImageViewer делать ImageViewer.BringToFront; 3). Пропорционально относительно чего? Если пропорционально размера формы, то самостоятельно пересчитывайте размер ImageViewer в TForm.OnResize 4). Если речь идет о TPanel, то это стилевой объект и его цвет меняется через стиль. Более простой вариант - в качестве "панелек" использовать "не стилевой" TRecangle. Цвет TRectanle можете задать и в design-time и runtime (Rectangle1.Fill.Color := TAlphaColorRec.White) И кстати, почему ImageViewer? Может TImage будет достаточно?
    1 балл
  13. {$IFDEF ANDROID} procedure KeepScreenOn(aEnable: boolean); var vFlags: integer; begin vFlags := TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON; if aEnable then begin CallInUIThread ( // uses FMX.Helpers.Android procedure begin TAndroidHelper.Activity.getWindow.setFlags (vFlags, vFlags); end ); end else CallInUIThread ( procedure begin TAndroidHelper.Activity.getWindow.clearFlags (vFlags); end ); end; {$ENDIF} Это для Berlin и ниже. При использовании Tokyo - вызов CallInUIThread не нужен, можно вызывать напрямую, т.к. теперь главный Delphi поток это Java UIThread. iOS uses iOSapi.UIKit; {$R *.fmx} procedure TForm6.Button1Click(Sender: TObject); var UIApp : UIApplication; begin UIApp := TUIApplication.Wrap(TUIApplication.OCClass.sharedApplication); UIApp.setIdleTimerDisabled(True); end;
    1 балл
  14. Запретить отключение экрана приложения в Андроид: в файл проекта (Project - View Source) добавить строки: // в uses {$IFDEF ANDROID} Androidapi.Helpers, Androidapi.JNI.App, Androidapi.JNI.GraphicsContentViewText, {$ENDIF} {$R *.res} // и далее - перед Application.Initialize begin {$IFDEF ANDROID} TAndroidHelper.Activity.getWindow.addFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON); {$ENDIF} Application.Initialize; ...
    1 балл
  15. так сделано в одной из моих программ, автоматическое считывание кода подтверждения оплаты, подредактируй только его и не забудь про разрешения
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...