-
Постов
29 -
Зарегистрирован
-
Посещение
Активность репутации
-
BurcevD получил реакцию от Vitaldj в При установки WordWrap у TListViewItem.Objects.Text неверно отображается текст в Android
Копался, копался так ничего и не получилось, в итоге сделал как предложил ruslan (пост 4) но со своими доработками, если кому интересно
на создание объекта и на событие OnUpdatingObjects (на TListView) сделал
aItem.Height := Round(CalculateTextHeight(aItem.Text, aItem.Objects.TextObject.Width, 36, 130, aItem.Objects.TextObject.Font))+4; aItem - TListViewItem - элемент списка из TListView сама функция вот function CalculateTextHeight(aText: String; aWidth: Single; aMinHeight: Single = 0; aMaxHeight: Integer = 0; aFont: TFont) : Single; begin FTextLayout.BeginUpdate; try FTextLayout.Text := aText; FTextLayout.MaxSize := TPointF.Create(aWidth, 1000); FTextLayout.WordWrap := True; FTextLayout.Font.Assign(aFont); FTextLayout.HorizontalAlign := FMX.Types.TTextAlign.Leading; FTextLayout.VerticalAlign := FMX.Types.TTextAlign.Leading; finally FTextLayout.EndUpdate; end; Result := FTextLayout.Height; if aMinHeight>0 then if Result < aMinHeight then Result := aMinHeight; if aMaxHeight>0 then if Result > aMaxHeight then Result := aMaxHeight; end; Параметры
aText - текст, который там отображен,
aWidth - ширина текстового объекта,
aMinHeight - минимально возможная высота (0 - если не нужно ограничение)
aMaxHeight - максимально возможная высота (0- если не нужно ограничение)
aFont - шрифт, используемый объектом
Сразу скажу, чтоб не говорили, что плагиатор, да основная часть и идея функции взята с этого форума.
P.S.Прибавил 4 пикселя, для того, чтобы рамка поместилась
-
BurcevD получил реакцию от Евгений Корепов в Как установить свойство Max
Уважаемые разработчики, скажите пожалуйста, а будет ли у компонента свойство Max?
А то получается с левой стороны проценты, а с правой те же самые проценты, только в количественном эквиваленте.
Поясню:
Если бы было например максимальное значение 200, а текущее положение 150, то слева было бы написано 75%, а с правой стороны 150/200.
Сейчас такого установить невозможно.
-
BurcevD получил реакцию от Евгений Корепов в Вроде как ошибка!
Уважаемые разработчики!
Хочу обратить Ваше внимание на следующие коды,
в модуле FMX.ListView.Types
строка 1530
if ImageSource = TImageSource.ImageList then Bitmap := Images.Bitmap(TSizeF(TPointF(FLocalRect.Size) * Canvas.Scale), FImageIndex) else Bitmap := GetBitmap; ... далее текст работы с Bitmap В то же время ImageSource может иметь 3 значения:
1481 строка
function TListItemImage.GetImageSource: TImageSource; begin if (FImageIndex <> -1) and (Images <> nil) and Images.BitmapExists(ImageIndex) then FImageSource := TImageSource.ImageList else if GetBitmap <> nil then FImageSource := TImageSource.Bitmap else FImageSource := TImageSource.None; Result := FImageSource; end; И если Bitmap из прошлого кода равен nil, то происходит ошибка.
Следует либо обработать третьего состояния либо обработать bitmap на nil.
Спасибо
-
BurcevD отреагировална Дениска в Как корректно завершить приложение?
Я решил это 2 способами!!
Закрытие приложения по кнопке "Home":
нужно в "...\iOSDevice\Release\myapp.info.plist" после строки "<string>ResourceRules.plist</string>" добавить строку "<key>UIApplicationExitsOnSuspend</key><true/>".
Закрытие приложения по кнопке из приложения:
procedure TForm1.Button1Click(Sender: TObject);
begin Halt(0); //аварийное завершение end; Удачи =)