Delphi Can

Orjinalini görmek için tıklayınız: Android Ekranda nesneler üst üste görünüyor.
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhaba

Android uygulamayı telefona yüklediğimde ekrandaki componentler üst üste biniyor.
Sanki Delphi ekranında Master seçeneğinde olduğu gibi hiç bir component olamsı gereken yerde değil:

Delphi de tasarım ekranın sorun olammasına rağmen apk telefona yüklediğimde tüm her şey karışıyor.
İki farkli telefonda denedim android sürümlei de farklıydı.

Sorunu nasıl çözebilirim.?



Zaman zaman da şu hatayı alıyorum:
[DCC Error] UnitResim.pas(47): E2606 Duplicate resource: type RCDATA ID tfrmresim_lgxhdpiph
unit kısmı ise şöyle:

var
  frmResim: TfrmResim;

implementation

{$R *.fmx}
{$R *.LgXhdpiPh.fmx ANDROID}

procedure TfrmResim.TakePhotoFromLibraryAction1DidFinishTaking(Image: TBitmap);
begin
  inherited;
  Image1.MultiResBitmap.Items[0].Bitmap.Assign(Image);

end;

{$R *.LgXhdpiPh.fmx ANDROID}

end.
bu tanımlama diğer formlarda farklı olarak sadece bu formda hata veriyor.
{$R *.LgXhdpiPh.fmx ANDROID}
Burada hizalama align'i kullanmanız gerekiyor. Yani düzgün bir tasarımın her telefonda uyulumlu olacak bir tasarım için align çok önemli.

nesneleri forma serpiştirmek yerine layout kulanımı yapmalısınız mesela mainlayout oluşturun align= client olsun. sonra ÜstLayout oluşturun align=top olsun.
Yani layoutlar oluşturarak öncelikle formu alt üst orta gibi kısımlara bölün ve nesneleri de buna göre hizalayın
Merhaba,
{$R *. ile başlayan derleyici direktifleri derlenmiş kaynak dosyalarını referans olarak gösterirler.
Uygulamada birden fazla tanımlanması durumunda Duplicate resource hatası alırsınız.
Hatayı düzeltmek için iki defa tanımlamış olduğunuz {$R *.LgXhdpiPh.fmx ANDROID} satırlarından en alttakini silerseniz bu hatadan kurtulmuş olursunuz.
Bileşenlerin üst üste yerleşmesinin sebebi ise muhtemelen çift resource tanımından kaynaklıdır.
Yukarıdaki düzeltmeden sonra aynı sorunu (bileşenlerin ana formdaki yerleşiminden farklı yerlerde görünmesi) yaşarsanız; View Selector (View penceresinden) daha önce oluşturduğunuz Android 5" Phone görüntüsünü seçin. Bu pencerenin hemen sağında yer alan Remove view (görüntü silme) butonunu kullayarak, görüntüyü silin ve yeniden oluşturun.
Bu durumda, proje dosyasının bulunduğu dizindeki LgXhdpiPh.fmx dosyası da silinecek ve yeniden oluşturulmuş olacaktır.
Cevaplarınız için teşekkür ederim. Projeyi yeniden oluşturup kodlarıda eskisinden kopyalarak sorunu çözebildim.
Form isimleri ile ilgli bir sorun olduğunu düşünüyorum.