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

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

Модераторы
  • Постов

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

  • Посещение

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

    264

Весь контент Равиль Зарипов (ZuBy)

  1. дело в том что при вызове Button1OnClick(nil); вы выполняете свой код, а при вызове VCL'ного варианта Button1.Click; Вы выполняете как минимум то, что написано в методе Click класса TCustomButton вызываете не нужную отрисовку компонента и собственно свой код. думаю разница очевидна
  2. версия для Seatle ColorListView.zip весь код для отрисовки кастомного цвета 1) копируем себе и открываем FMX.ListView 2) Ctrl+F -> DrawItemsFill 3) Вставляем код // отрисовываем кастомный цвет........................................... // procedure TListViewBase.DrawItemsFill(const StartItem................. if TListViewItem(ListItem).Data['aUseCustomColor'].AsBoolean then FBrush.Color := TListViewItem(ListItem).Data['aCustomColor'].AsInteger; // ...................................................................... после if FAlternatingColors and (AltIndex mod 2 = 1) then FBrush.Color := FItemStyleFillAltColor; 4) Подключаем в своём проекте после стандартного FMX.ListView
  3. нет, но могу скинуть измененный ListView с покраской конкретных Item'ов
  4. Нужно в стиле кнопки (лучше создать копию) SourceLink поменять, на другую не прозрачную область.
  5. копать в сторону System.Sensors; Вот все сенсоры что поддерживаются в FMX TSensorCategory = (Location, Environmental, Motion, Orientation, Mechanical, Electrical, Biometric, Light, Scanner); TSensorCategories = set of TSensorCategory; TLocationSensorType = (GPS, Static, Lookup, Triangulation, Broadcast, DeadReckoning, Other); TEnvironmentalSensorType = (Temperature, AtmosphericPressure, Humidity, WindSpeed, WindDirection); TMotionSensorType = (Accelerometer1D, Accelerometer2D, Accelerometer3D, MotionDetector, Gyrometer1D, Gyrometer2D, Gyrometer3D, Speedometer, LinearAccelerometer3D, GravityAccelerometer3D); TOrientationSensorType = (Compass1D, Compass2D, Compass3D, Inclinometer1D, Inclinometer2D, Inclinometer3D, Distance1D, Distance2D, Distance3D); TElectricalSensorType = (Voltage, Current, Capacitance, Resistance, Inductance, ElectricalPower, Potentiometer); TMechanicalSensorType = (BooleanSwitch, BooleanSwitchArray, MultiValueSwitch, Force, Scale, Pressure, Strain); TBiometricSensorType = (HumanPresence, HumanProximity, Touch); TLightSensorType = (AmbientLight); TScannerSensorType = (RFID, Barcode);
  6. Когда я ей пользовался, проект собранный в аппметод открывал в XE. Не помню чтобы были проблемы, хотя обе стояли триалки
  7. погонял на дроиде(nexus 7 в1, 5.1.1) DX10, широкова-то, подвисает, при смене ориентации вылетает(не важно с какой старт альбом или портрет) может есть варианты без лагов? Этот пример был сделан до появления multiview, так что не думаю что его целесообразно использовать теперь
  8. Там ещё нужно задать для TS WordWrap := true; если нужно чтобы перенос строк был правильный. Поэтому и неправильно считает
  9. FWorkRectF - там хранится максимальное значение по ширине, куда нужно втиснуть текст при использовании WordWrap. MaxSingle - делфовая константа
  10. Автор один у этих компонентов, он же Администратор этого форума. Было бы хорошо, если бы в GetIt было доступно
  11. function TextHeight(const AText: string; aTextSettings: TTextSettings; const MaxWidth: Single): Single; // uses FMX.Graphics, FMX.TextLayout, FMX.Types, Math var Layout: TTextLayout; aRect: TRectF; aWW: Boolean; begin Result := 24; if AText.IsEmpty then Exit; aWW := Pos(#13#10, AText) > 0; if (aTextSettings.WordWrap) or (aWW) then aRect := RectF(0, 0, MaxWidth, MaxSingle) else aRect := RectF(0, 0, MaxSingle, MaxSingle); Layout := TTextLayoutManager.DefaultTextLayout.Create; try Layout.BeginUpdate; Layout.TopLeft := aRect.TopLeft; Layout.MaxSize := PointF(aRect.Width, aRect.Height); Layout.Text := AText; Layout.WordWrap := aTextSettings.WordWrap; Layout.HorizontalAlign := TTextAlign.Leading; Layout.VerticalAlign := TTextAlign.Leading; Layout.Font.Assign(aTextSettings.Font); Layout.Color := aTextSettings.FontColor; Layout.RightToLeft := false; Layout.EndUpdate; aRect := Layout.TextRect; finally FreeAndNil(Layout); end; Result := aRect.Bottom; end; думаю для ширины не нужно показывать код, сами отредактируете
  12. что то типа того нужно сделать, посчитать грубо сколько Item'ов видно Scrollbar1.Max := Value - Round(ListView1.Height / ListView1.ItemAppearance.ItemHeight);
  13. Указать нужно кодировку, TEncoding.UTF8 в процедуре загрузки файла, вторым параметром
  14. Почему буква вверху, для меня тоже загадка да на мобильных он не работает, это просто индикатор положения
  15. уместить у меня весь алфавит в LB так и не получилось, единственное решение вижу объединить некоторые буквы использовал русский алфавит - сортировка ListView - формирование ListBox в зависимости от контента ListView alphLV.zip
  16. посмотрите вот это http://fire-monkey.ru/topic/2041-rx-fgx-opisanie-versii-07174/
  17. Все странным образом заработало как нужно, добавил initialization RegisterFmxClasses([TVBTextPresent, TVBPanel]); и вот это [ComponentPlatformsAttribute(fgAllPlatform)]
  18. procedure TVBCustomPanel.SetTitlePresent(Value: TVBTextPresent); begin if (Value <> nil) then begin FTitlePresent.Assign(Value); Repaint; end; end; constructor TVBTextPresent.Create; begin inherited Create; FFont := TFont.Create; FFontColor := TAlphaColorRec.Black; FTextSettings := TTextSettings.Create(self); end;
  19. 1) paserver'a можно оставить два 2) в XCode загрузить SDK для IOS 8.4 3) а вот с миграцией будет жопа, приготовьтесь
  20. странно... у меня классы наследуются, может из-за этого? TVBTextPresent = class(TPersistent) TVBCustomPanel = class(TControl)
×
×
  • Создать...