-
Постов
72 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Сообщения, опубликованные Alisson R Oliveira
-
-
-
6 часов назад, FREEFAR сказал:
Have you tollbar align "Top" and listview align "Client"?
How you hide tollbar - Visible := False?
Try toolbar.margin.Top := - toolbar.height
No solutions. It seems to me that with every change in the size of the listview firemonkey re-renders the items ... like formatting and manual (via code) it belongs to everything ... do you have any options so that this does not happen ??
thankful.
-
13 часов назад, FREEFAR сказал:
TlistviewItem ainda tem um tamanho correto depois de esconder a barra de ferramentas?
yes.... only changes the height ... since the toolbar stops appearing
-
-
-
Good afternoon,
I have a problem with ListView, I have an application that works with dynamic appearance items, where I add items manually, it takes the image height and ListView width to calculate the item size and the position of the elements within the ListView. item. The error occurs when I change some control in the form, it loses all its formatting, for example, hides a rectangle or animates the control.
Has anyone ever experienced this? Do you know how I can solve this?
Thank you! -
procedure TfrmPrincipal.AdicionarSomenteOfertasLista;
var
Tarefa: ITask;
begindmDadosLocais.qryListaSomenteOfertas.Active := False;
dmDadosLocais.qryListaSomenteOfertas.ParamByName('IDOFFSET').AsInteger := TotalSomenteOfertasOFFSET;
dmDadosLocais.qryListaSomenteOfertas.Active := True;
dmDadosLocais.qryListaSomenteOfertas.First;Tarefa := TTask.Create(
procedure()
var
strOferta, strEmpresa, strSloganEmpresa, strIDOferta: string;
//
LItem: TListViewItem;
//Lista de Imagens
ItemFolder: TListItemImage;
Background: TListItemImage;
LogoMarca: TListItemImage;
IconeCupom: TListItemImage;
IconeCurtidas: TListItemImage;
// Tratablhar com imagens
ImgStream, ImgStreamLogoEmpresa: TStream;
ImagemAlterada: TBitmap;
ImagemBackGround: TBitmap;
ImagemLogoMarca: TBitmap;
ImagemCupom: TBitmap;
UsarCupom: Boolean;
//Posicionamento
ItemTituloOferta, ItemEmpresa, ItemSlogan, ItemNumeroCurtidas: TListItemText;
vKoef: Single;
AlturaImagem: Single;
AvailableWidth: Single;
AlturaLvOfertas: Single;
Linha: Single;
//Texto curtidas
strCurtidas: string;
beginif dmDadosLocais.qryListaSomenteOfertas.RecordCount > 0 then
beginLoadCarregandoSomenteOfertas.Visible := True;
lvSomenteOfertas.BeginUpdate;
try
while not dmDadosLocais.qryListaSomenteOfertas.Eof do
beginstrOferta := dmDadosLocais.qryListaSomenteOfertas.FieldByName('oferta').AsString;
strEmpresa := dmDadosLocais.qryListaSomenteOfertas.FieldByName('empresa').AsString;
strIDOferta := dmDadosLocais.qryListaSomenteOfertas.FieldByName('id').AsString;
strSloganEmpresa := dmDadosLocais.qryListaSomenteOfertas.FieldByName('slogan').AsString;
ImgStream := dmDadosLocais.qryListaSomenteOfertas.CreateBlobStream(dmDadosLocais.qryListaSomenteOfertas.FieldByName('img_media'), TBlobStreamMode.bmRead);
ImgStreamLogoEmpresa := dmDadosLocais.qryListaSomenteOfertas.CreateBlobStream(dmDadosLocais.qryListaSomenteOfertas.FieldByName('logomarca'), TBlobStreamMode.bmRead);
//Controle de Cupom
if dmDadosLocais.qryListaSomenteOfertas.FieldByName('usar_cupom').AsBoolean = True then
UsarCupom := True
else if dmDadosLocais.qryListaSomenteOfertas.FieldByName('usar_cupom').AsBoolean = False then
UsarCupom := False;TThread.Synchronize(TThread.CurrentThread,
procedure()
beginAvailableWidth := lvSomenteOfertas.Width - lvSomenteOfertas.ItemSpaces.Left - lvSomenteOfertas.ItemSpaces.Right;
ImagemAlterada := TBitmap.Create;
ImagemAlterada.LoadFromStream(ImgStream);
{Tamanho e Posicionamento}
if Handle = nil then
exit; // on Android without this user will get Access Violation
vKoef := AvailableWidth / ImagemAlterada.Width;
AlturaImagem := ImagemAlterada.Height * vKoef;LItem := lvSomenteOfertas.Items.Add;
LItem.Height := (Round(AlturaImagem) + 5 + 22 + 5 + 40 + 3 + 20 + 30);
//Atribui valores
LItem.Data['Oferta'] := strOferta;
LItem.Data['Empresa'] := strEmpresa;
LItem.Data['IDOferta'] := strIDOferta;
LItem.Data['SloganEmpresa'] := strSloganEmpresa;
strCurtidas := dmDadosLocais.NumeroDeCurtidasFEED(StrToInt(strIDOferta));
LItem.Data['NumeroCurtidas'] := strCurtidas;
if strCurtidas.IsEmpty = True then
LItem.Data['IconeCurtida'] := 0
else if strCurtidas.IsEmpty = False then
LItem.Data['IconeCurtida'] := 1;//Folder
ItemFolder := TListItemImage(LItem.View.FindDrawable('Folder'));
ItemFolder.OwnsBitmap := True;
ItemFolder.Bitmap := ImagemAlterada;
ImagemAlterada.Free;
ItemFolder.Height := AlturaImagem;Background := TListItemImage(LItem.View.FindDrawable('Background'));
Background.Visible := False;
//LogoEmpresa
LogoMarca := TListItemImage(LItem.View.FindDrawable('LogoEmpresa'));
ImagemLogoMarca := TBitmap.Create;
LogoMarca.OwnsBitmap := True;
ImagemLogoMarca.LoadFromStream(ImgStreamLogoEmpresa);
LogoMarca.Bitmap := ImagemLogoMarca;
ImagemLogoMarca.Free;
//Icone do Cupom
IconeCupom := TListItemImage(LItem.View.FindDrawable('iconeCUPOM'));
ImagemCupom := TBitmap.Create;
IconeCupom.OwnsBitmap := True;
if UsarCupom = True then
ImagemCupom := imgIconeCupom.Bitmap
else if UsarCupom = False then
ImagemCupom := imgIconeSemCupom.Bitmap;
IconeCupom.Bitmap := ImagemCupom;
ImagemCupom.Free;
//Localiza Objetos
IconeCurtidas := TListItemImage(LItem.View.FindDrawable('IconeCurtida'));
ItemTituloOferta := TListItemText(LItem.View.FindDrawable('Oferta'));
ItemEmpresa := TListItemText(LItem.View.FindDrawable('Empresa'));
ItemSlogan := TListItemText(LItem.View.FindDrawable('SloganEmpresa'));
ItemNumeroCurtidas := TListItemText(LItem.View.FindDrawable('NumeroCurtidas'));// Posiciona Objetos nos controles
Linha := 5;//Linha 1 - Dados da empresa
LogoMarca.PlaceOffset.Y := Linha;
ItemEmpresa.PlaceOffset.Y := Linha;
ItemEmpresa.PlaceOffset.X := 60;ItemSlogan.PlaceOffset.Y := Linha + 21;
ItemSlogan.PlaceOffset.X := 60;//Linha 2 - Folder da Oferta
Linha := Linha + LogoMarca.Height + 7;
ItemFolder.PlaceOffset.Y := Linha;//Linha 3 - Titulo da oferta
Linha := Linha + AlturaImagem + 5;
ItemTituloOferta.PlaceOffset.Y := Linha;//Linha 4 - Número de Curtidas
Linha := Linha + ItemTituloOferta.Height + 3;
ItemNumeroCurtidas.PlaceOffset.Y := Linha;
IconeCurtidas.PlaceOffset.Y := Linha;end);
dmDadosLocais.qryListaSomenteOfertas.Next;
end;finally
lvSomenteOfertas.EndUpdate;
// if TotalSomenteOfertasOFFSET = 0 then
// TThread.Synchronize(nil, RepintarOfertasDesalinhadas);TotalSomenteOfertasOFFSET := TotalSomenteOfertasOFFSET + 10;
TThread.Synchronize(TThread.CurrentThread,
procedure()
begin
if TotalSomenteOfertasOFFSET = 10 then
RepintarOfertasDesalinhadas(lvSomenteOfertas);LoadCarregandoSomenteOfertas.Visible := False;
end);
end;end;
end);
Tarefa.Start;
end;
-
Boa tarde,
eu tenho um problema com o ListView, eu tenho um aplicativo que funciona com elementos de aparência, onde eu adicionar itens manualmente, leva-se a altura da imagem e largura para calcular o tamanho do elemento e a posição dos elementos de comando no elemento. O erro ocorre quando eu altero o controle sobre ele, ele perde toda a sua formatação, por exemplo, oculta um retângulo ou anima o controle.
Alguém já passou por isso? Você sabe como eu posso resolver isso?
Obrigado! -
В 13/11/2017 в 12:15, Равиль Зарипов (ZuBy) сказал:
Текущая реализация не позволяет нам менять цвет статус бара, потому что в FMX используется старая тема Holo.
Поэтому устанавливается полупрозрачный цвет для нативного окна, и регулируется цвет статус бара с помощью установки цвета формы.
Так достигается эффект покраски статус бара
Доброе утро ... жаль открывать тропик после долгого времени, но я утверждал приложение на других устройствах, что панель навигации не является физической (назад, дома, окнами), и с этим она становится полностью прозрачной, а элементы управления белыми, например могу я решить ???
благодарный
-
привет всем
У меня проблема в разработке алгоритма, который знает, что кто-то здесь может мне помочь. В сценарии и следующем, у меня есть изображение, которое отображает изображения, размещенные пользователями, так как фотографии могут быть нескольких разных размеров. Мне бы хотелось, чтобы высота проспекта (Image.Height) рассчитывалась в соответствии с размером экрана мобильного телефона (Android) или его ширина и изображение занимают высоту correda без размытия изображения, детали с использованием свойства Wrapmode: = fit; а не Wrapmode: = Растянутьблагодарный
-
Добрый вечер, кто-нибудь знает, как я могу создать функцию для создания ярлыка в доме Android?
Эта функция не работает, по крайней мере, не на android 6 и 7.0
Uses Androidapi.JNI.GraphicsContentViewText, FMX.Helpers.Android, Androidapi.JNI.JavaTypes, FMX.Platform.Android, AndroidApi.JniBridge, AndroidApi.Jni.App, AndroidAPI.jni.OS; {$IFDEF ANDROID} var ShortcutIntent: JIntent; addIntent: JIntent; wIconIdentifier : integer; wIconResource : JIntent_ShortcutIconResource; {$ENDIF} begin {$IFDEF ANDROID} ShortcutIntent := TJIntent.JavaClass.init(SharedActivityContext, SharedActivityContext.getClass); ShortcutIntent.setAction(TJIntent.JavaClass.ACTION_MAIN); addIntent := TJIntent.Create; addIntent.putExtra(TJIntent.JavaClass.EXTRA_SHORTCUT_INTENT, TJParcelable.Wrap((shortcutIntent as ILocalObject).GetObjectID));// here we need to cast the intent as it's not done in delphi by default, not like java addIntent.putExtra(TJIntent.JavaClass.EXTRA_SHORTCUT_NAME, StringToJString(Application.Title)); addIntent.setAction(StringToJString('com.android.launcher.action.INSTALL_SHORTCUT')); // get icon resource identifier wIconIdentifier := SharedActivity.getResources.getIdentifier(StringToJString('ic_launcher'), StringToJString('drawable'), StringToJString('com.embarcadero.HeaderFooterApplication')); // if the app name change, you must change the package name wIconResource := TJIntent_ShortcutIconResource.JavaClass.fromContext(SharedActivityContext, wIconIdentifier); // set icon for shortcut addIntent.putExtra(TJIntent.JavaClass.EXTRA_SHORTCUT_ICON_RESOURCE, TJParcelable.Wrap((wIconResource as ILocalObject).GetObjectID)); SharedActivityContext.sendBroadcast(addIntent); {$ENDIF}
благодарный
-
Может ли кто-нибудь сказать мне, могу ли я транслировать видео с youtube прямо на плеер.
благодарный
-
Я понимаю, что я рассмотрю дорожную карту грузоотправителя, чтобы посмотреть, будет ли эта деталь изменена. С вашим объяснением и вашим устройством я помещаю TRectangle с желаемым цветом, чтобы быть backgroud, поэтому у меня был «желаемый результат».
Большое спасибо
-
Очень хорошая проблема позиционирования управления по отношению к разрешенной строке состояния, я искал функцию, которая возвращает мне целое число, плюс и процедуру.
кажется, что все работает отлично, за исключением одной детали, цвет, который я передаю как параметр, не используется для рисования строки состояния. и фиксированный цвет. анализируя процедуру, которая делает это «StatusBarSetColor» увидела, что он получает «const aColor: TAlphaColor» и только использует на устройствах iOS в Android фиксированное значение
procedure StatusBarSetColor(const aColor: TAlphaColor);
{$IFDEF ANDROID}
var
Window: JWindowExt;
{$ENDIF}
begin
{$IFDEF ANDROID}
CallInUIThread(
procedure
begin
if TOSVersion.Check(5, 0) then
begin
Window := GetWindowExt;
Window.setFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_TRANSLUCENT_STATUS,
TJWindowManager_LayoutParams.JavaClass.FLAG_TRANSLUCENT_STATUS);
Window.setFlags(TJWindowManager_LayoutParamsExt.JavaClass.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS,
TJWindowManager_LayoutParamsExt.JavaClass.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
Window.setStatusBarColor(-16777216);
end;
end);
{$ENDIF}
{$IFDEF IOS}
SetStatusBarBackgroundColor(aColor);
{$ENDIF}
end; -
извините за мое понимание вашего подразделения. Процедура «StatusBarGetBounds» не является функцией, которая не возвращает мне значение высоты строки состояния, поэтому я говорю, что у меня есть много знаний о предмете, высота бара состояния и босса для всех версий android (от 5 ) и независимо от марки устройства (asus, samsung, lg и др.)? Как вы можете привести пример правильного использования описанных вами процедур.
еще раз спасибо
-
-
Он работал, теперь он рисует строку состояния, но экран идет позади ... Я не видел, чтобы функция могла получить высоту строки состояния, чтобы сделать интервал, например, один из предыдущего примера
"Layout.Margins.Top: = TmyWindow.StatusBarHeight;"
Не могли бы вы помочь мне, как мне это сделать с этим новым подразделением, которое вы показали?благодарный
-
Добрый день, сначала мне жаль, потому что я не знаю русского языка. Я использую переводчик Google.
У меня есть следующая проблема: я использую вашу библиотеку для изменения цвета панели состояния (ZenFone3, android 7) отлично работает, пока я не отключу «Включить всплывающее изображение» там, где он больше не компилируется, и возвращает мне следующую ошибку.[Ошибка PAClient] E2312 D: \ OffersCap \ Mobile \ Android \ Release \ OfferCap \ res \ values-v21 \ styles.xml: 5: Ошибка: Ошибка: ресурс не найден, который соответствует указанному имени (на 'android: windowBackground 'со значением' @ drawable / splash_image_def ').
если вы можете мне помочь, спасибо
обнулить буфер клавиатуры при переходе по TEdit
в TEdit
Опубликовано
Did you find the solution? I've been having the same problem for over 1 year ...