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

FIL

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

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

  • Посещение

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

    4

Весь контент FIL

  1. У меня даже в Винде Rectangle отваливается, если чуть побыстрее мышью подвигать. Скорее всего проблема в том, что событие перемещения возникает столь редко, что мышь/палец успевает убежать за пределы контрола.
  2. Возможно антивирус или фаервол блокирует доступ.
  3. Видимо никак, раз народ всякие обходные пути изобретает. Upd: Инструкция по добавлению шрифтов от разработчиков аналогична предложенной выше: True Type Font Iconography for Android and iOS Apps
  4. Тогда, скорее всего, шрифт надо сначала установить на устройство. Upd: Нашел одну кривоватую (картинки у меня не отображаются) статейку на эту тему: Fire Monkey - Свои шрифты в Android приложении, но демка там вполне рабочая.
  5. Почему у меня при создании TListBoxItem в рантайме и включенной опции переноса слов WordWrap, слова не переносятся, а в дизайн тайме - переносятся?
  6. У LiveBindings-привязок (или как они там правильно называются...) есть набор своих событий. Например, у LinkFillControlToField есть событие OnFilledListItem в обработчике которого можно дообработать данные из БД, которые не удалось привязать. Будет выглядеть примерно так: procedure TForm1.LinkFillControlToField1FilledListItem(Sender: TObject; const AEditor: IBindListEditorItem); var Item: TListViewItem; begin if AEditor.CurrentIndex >= 0 then begin Item := ListView1.Items[AEditor.CurrentIndex]; Item.Tag := BindSourceDB1.DataSet.FindField('ID').AsInteger; ... end; end;
  7. Вот это прикол... Если на ListBoxItem'ы положить WebBrowser, то Item'ы просто вываливаются за пределы ЛистБокса . Похоже на очередной сюрприз от Embarcadero.
  8. У тебя там буквы какие-то лишние. Попробуй так: "C:\Program Files (x86)\Java\jdk1.7.0_76\bin\keytool" -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android
  9. "C:\Program Files (x86)\Java\jdk1.7.0_76\bin\keytool" -list -v -keystore debug.keystore -alias androididdebugkey -storepass android -keypass android
  10. Набросал пример отрисовки текста по дуге: procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); const S: String = 'Пример отрисовки текста по заданной траектории (дуга)'; var i: Integer; A, Ao, R, TextLen: Single; Rect: TRectF; M1, M2: TMatrix; // uses System.Math.Vectors begin // if Canvas.BeginScene then begin Randomize; R := 400; Ao := DegToRad(150); // uses System.Math A := (Pi - Ao) / 2; Canvas.Font.Size := 32; Canvas.Stroke.Kind := TBrushKind.Solid; Canvas.StrokeThickness := 3; Canvas.Fill.Color := TAlphaColors.Palegreen xor $80000000; Canvas.FillEllipse(TRectF.Create(0, 0, 2 * R, 2 * R), 1); TextLen := Canvas.TextWidth(S); if TextLen > R * Ao then Caption := 'АХТУНГ!'; // длина текста больше выделенной под него дуги (будет наложение букв) for i := 1 to S.Length do begin Rect.Left := 0; Rect.Top := R; Rect.Width := Canvas.TextWidth(S[i]); Rect.Height := Canvas.TextHeight(S[i]); A := A + Ao / (S.Length - 1); M1 := TMatrix.CreateTranslation(- Rect.CenterPoint.X, - Rect.CenterPoint.Y) * TMatrix.CreateRotation(A - A - Pi / 2) * TMatrix.CreateTranslation(Rect.CenterPoint.X, Rect.CenterPoint.Y); M2 := TMatrix.CreateTranslation(-R, -R) * TMatrix.CreateRotation(A) * TMatrix.CreateTranslation(R, R); Canvas.SetMatrix(M1 * M2); Canvas.Fill.Color := TAlphaColor(Random(MaxInt) or $FF000000); Canvas.FillText(Rect, S[i], False, 1, [{TFillTextFlag.RightToLeft}], TTextAlign.Leading, TTextAlign.Center); end; // Canvas.EndScene; end; end;
  11. Судя по всему, фишка довольно старая, но я ни разу не сталкивался с ее реальным применением. Нашел такое описание с примером: http://habrahabr.ru/post/105776/ И сдается мне, что все тоже самое можно реализовать при помощи обычного Сеттера свойства.
  12. TextToPath Похоже ошибочка... В одной книжке прочитал, что этот метод "выводит текст по траектории Path", но судя по описанию на офф сайте - это не так. Значит придется руками делать...
  13. Еще вариант: Можно ли вывести изображение в виде ромба, круга и тд?
  14. AlexG, да как правильно делать я уже примерно представляю: icon по умолчанию грузится из Item.ItemData.Bitmap или ImageList. Если добавляется свой эл-т в стиль, то он "настраивается" в обработчике OnApplyStyleLookup. Но в данной теме речь идет не о моем говнокоде, а об официальном примере от разработчиков ХЕ8. Вообще-то, некоторые при изучении ФМ пытаются ориентироваться, в том числе, и на данные примеры, т.к. качественной информации по предмету совсем не дофига, а видят в итоге наскоро слепленную фигню, которая еще больше запутывает. AlexG, по ссылке код из MissMessageApplyStyle полностью повторяется в AddMissMessageItem. По идее, его же можно заменить на вызов MissMessageApplyStyle или NeedStyleLookup, или там есть какой-то другой тайный смысл?
  15. При загрузке изображения через: Item.ItemData.Bitmap := Image1.Bitmap; заставить его перерисоваться можно так: Item.NeedStyleLookup; (на эмуляторе Андроида работает) Если сделать так: Item.StylesData['icon'] := OpenDialog1.Files[i]; Item.StylesData['icon.visible'] := True; то изображение тоже появляется, но после прокрутки исчезает навсегда. Если в этом же коде переименовать icon, например, в icon1, то изображение грузится, но после прокрутки иногда исчезает, а иногда - нет, но всегда появляется у некоторых других итемов, где его быть не должно:
  16. И еще... В том же самом примере при другом способе добавления рисунка: Item.ItemData.Bitmap := Image1.Bitmap этот самый рисунок появляется на Item'е только если его (Item) с помощью прокрутки убрать за границы ЛистБокса, а потом снова показать.
  17. Всем привет! Копался в примерах к версии ХЕ8 и в одном из них (Object Pascal\FireMonkey Desktop\CustomListBox) наткнулся на такую строку кода: Item := TListBoxItem.Create(nil); ... Item.StylesData['icon'] := OpenDialog1.Files[i]; // <--- которая, как я понимаю, должна грузить картинку из файла (???), т.к. icon - это TImage. По факту, ни ошибок нет, ни картинки. Объясните, что это за конструкция такая и почему она не работает?
  18. Управление осуществляется св-вом Enabled. Чтобы было поверх всех окон, можно бросить его на прозрачную форму со стилем stayontop. Ну или прямо на форме приложения выводить.
  19. Посмотри это http://docwiki.embarcadero.com/Libraries/XE8/en/FMX.StdCtrls.TAniIndicator
×
×
  • Создать...