TextWidth возвращает неправильное значение в приложении AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 TextWidth возвращает неправильное значение в приложении Android

Сообщение Anonymous »

У меня есть приложение Delphi 12 FMX, где появляется TEDIT, так что дополнительная информация. Приведенный ниже код работает при составлении для Windows, но расчет ширины текста неверен, когда скомпилируется для Android. Hintpnl - тип tcalloutpanel и содержит Hintmemo, который является Tmemo. Я добавил немного прокладки в ширину текста, чтобы все текст отображался для Android, но это не надежное решение. Что я делаю не так? < /P>
procedure TfmMain.EditEnter(Sender: TObject);
var pad: Integer;
begin
if TEdit(Sender).Hint '' then
begin
HintMemo.Text := TEdit(Sender).Hint + ' ';
Pad := 0;
{$IFDEF ANDROID}
Pad := 40;
{$ENDIF ANDROID}
HintPnl.Width := HintMemo.Canvas.TextWidth(HintMemo.Text) + Pad;
HintPnl.Position.X := TEdit(Sender).Position.X - HintPnl.Width;
HintPnl.Position.Y := TEdit(Sender).Position.Y - HintPnl.Height;
HintPnl.Visible := True;
end;
end;


Подробнее здесь: https://stackoverflow.com/questions/795 ... ndroid-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»