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

Владимир1

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

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

  • Посещение

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

    1

Сообщения, опубликованные Владимир1

  1. Уважаемые форумчане!

    Как программно получить информацию, что в телефоне (андроид>=6 версии) пользователь использует режим блокировки экрана по Биометрическим данным или по пин коду или рисунку. Т.Е. этот режим блокировки экрана в принципе включён в настройках телефона?

    Заранее благодарен!

  2. Уважаемые форумчане!

    Как расчитать необходимую высоту элемента TTreeViewItem, что бы разместить в нём весь текст (WordWrap:=True) с учётом левого отступа TTreeViewItem из-за его уровня вложенности. 

  3. В 06.08.2020 в 22:19, OnePeople сказал:

    procedure TForm1.ListViewUpdateObjects(const Sender: TObject;
      const AItem: TListViewItem);
    begin
        TListItemText(AItem.Objects.FindDrawable('Detail')).Width:=Ваша ширина;

    end;

    Спасибо за быстрый ответ. В Вашем примере меняется ширина уже созданного экземпляра TListViewItem. Мне нужно определить ширину ещё до создания TListViewItem. Как вариант использовал код вида:

    Function FindLVItemObjectByName(aName: String): TCommonObjectAppearance;
    Var
      i: Integer;
    begin
      Result := Nil;
      With Form1.ListView1, ItemAppearanceObjects.ItemObjects do
        for i := 0 to 3 do
          if Objects.Name = aName then
          begin
            Result := TCommonObjectAppearance(Objects);
            Break;
          end;
    end;


    Это частный случай, здесь идёт перебор коллекции обьектов  ItemAppearanceObjects.ItemObjects.ObjectsCollection. Не очень красиво, но работает!

  4. Здравствуйте!

    Установил в ListView свойство ItemAppearance в DynamicAppearance.

    Создал в Desingtime в несколько текстовых элементов в DynamicAppearance.

    Как в Run Time получить доступ к AppearanceObjectName = 'Detail' и изменить его ширину.

    Сделать это надо на старте, когда ещё не создано ни одного TListViewItem.

    Для того, что бы все вновь создаваемые TListViewItem. имели 'Detail' с заданной шириной

    object ListView1: TListView

    ..............................................................................
            ItemAppearanceObjects.ItemObjects.ObjectsCollection = <
              item
                AppearanceObjectName = 'Detail'
                AppearanceClassName = 'TTextObjectAppearance'
                Appearance.Font.Size = 11.000000000000000000
                Appearance.TextAlign = Leading
                Appearance.WordWrap = True
                Appearance.TextColor = claCrimson
                Appearance.Width = 571.000000000000000000
                Appearance.Height = 25.000000000000000000
                Appearance.PlaceOffset.X = 52.000000000000000000
                Appearance.PlaceOffset.Y = 20.000000000000000000
              end

    ...............................................................................................................................

  5. Код такой: s1:='040';
     FMX.DialogService.InputQuery('Для ремонта на площадке', [' Введите № площадки'],[s1],

    procedure(const AResult: TModalResult; const AValues: array of string)
     begin
     if AResult=mrOk then
     begin
     end;

     end);

  6. Здравствуйте!

    В программе для Android (8.0) использую FMX.Dialogs.InputQuery, но вместо текста отображаются точки. Точнее - сначала появляются вводимые символы, которые потом отображаются в виде точек.

    Посмотрел исходные модули - ничего там не нашел на предмет отображения символов вида password char.

    Помогите, пожалуйста, решить проблему.

  7. Здравствуйте!

    Решил вопрос таким образом:

    1. Нужен будет файл:

    https://github.com/DelphiWorlds/KastriFree/blob/master/API/DW.Androidapi.JNI.FileProvider.pas

    Код будет такой:

    Procedure ShowPhoto;
    var
      Intent: JIntent;
      Authority: JString;
       Uri: Jnet_Uri;
    begin
      With Form1.PhotoGrid do
        i:=Selected*2+ColumnIndex;
      If i>FImages.Count-1 then
        Exit;

      Authority := StringToJString(JStringToString(TAndroidHelper.Context.getApplicationContext.getPackageName) + '.fileprovider');
      Uri:=TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context, Authority, TJFile.JavaClass.init(StringToJString(FILE)));

      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);

      Intent.setDataAndType(Uri, StringToJString('image/*'));
      Intent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
      TAndroidHelper.Activity.startActivity(Intent);
    end;

    У меня в Delphi подключен SDK 25.

    Работа проверена на Андроид 4.4 и 8.0

     

  8. Здравствуйте!

    Пытаюсь открыть сохранённые в телефоне фотографии JPEG при помощи кода

    Procedure ShowPhoto;
    var
      Intent: JIntent; 
    begin
      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      Intent.setDataAndType(StrToJURI(‘file://storage/emulated/0/Documents/PHOTOS/pic.jpeg’), StringToJString('image/jpeg'));
      TAndroidHelper.Activity.startActivity(Intent);
    end;

    Delphi 10.3 .

    Разрешения на чтение/ запись (Write External storage и Read external Storage) получены через PermissionsService.RequestPermissions....

    На андроиде 4.4 запускается.

    На андроиде 8 не запускается.

    Не могу понять - в чём дело.

    Помогите, пожалуйста, разобраться!


     

×
×
  • Создать...