2013-08-04 35 views
8

Bir android proje yapıyorum ve eclipse kullanıyorum. Can sıkıcı otomatik hizalamayı nasıl devre dışı bırakacağımı anlayamıyorum. Sadece GUI arabirimine bırakmak istediğim yere düğmeler yerleştirmek istiyorum ancak onları bir diğerine hizalamak için tutar. numaralı xml kodundaki hizalama satırlarını silmeyi denedim, ancak GUI arabirimindeki düğmeleri taşıdığımda yine de onları geri getiriyor.Otomatik hizalama nasıl devre dışı bırakılır?

Bu işlevi devre dışı bırakmanın bir yolu var mı?

ben yardım edebilir düşünüyorum

Alex

cevap

7

Bu işlevi devre dışı bırakmak için bir yol var mı?

Tatmin edici bulacağınız bir şekilde değil, şüpheliyim.

"Hizalama çizgileri" nin gerçekte ne olduğunu açıklayamadınız, bu yüzden tahmin etmeye zorlandık. Benim tahminim, "hizalama çizgilerinin", bir RelativeLayout konteyneriyle çalıştığınız içindir. the JavaDocs for RelativeLayout aktaran RelativeLayout olup:

çocuk konumları birbirine veya ebeveyn ile ilgili olarak tarif edilebilir bir Düzen. the guide for RelativeLayout alıntı

Ve:

RelativeLayout göreli konumları çocuk manzaralarını görüntüleyen görünüm grubudur. Her bir görüntünün konumu, kardeş öğelere göre (örneğin bir başka görüntünün solunda veya altında olduğu gibi) veya ana Bağlantılı Yerleşim alanıyla ilgili konumlarda (merkezin solunda, solda olduğu gibi) belirtilebilir.

Bu nedenle, "hizalama çizgileri" vardır ve bunlar, bir RelativeLayout kap kullanılarak arkasında noktası olduğu için, GUI üreticisi tarafından değiştirilir.

Elbette, birlikte çalıştığınız kabı başka bir şeye değiştirebiliriz.

Bununla birlikte, genel olarak, Android, belirttiğiniz hedefinizi çok iyi desteklemiyor ("Onları GUI arabirimine bırakmak istediğim yere yerleştirmek istiyorum"). Web geliştirmede bunu yapmadığınız gibi, bunu Android geliştirmede ve aynı nedenden dolayı yapmazsınız: farklı boyutlar hesaba katmanız gerekir (Web için tarayıcı penceresi boyutu, Android için ekran boyutu). RelativeLayout, LinearLayout, TableLayout ve GridLayout'un tümü, widget'lar ve konumlandırma ve boyutlandırma için kurallar belirtmeniz için tasarlanmıştır, böylece örneğin 3 "ve 4,5" ekranlar arasındaki farkı barındıracak bir UI tasarlayabilirsiniz. Bu, içeriği ve bir Web sayfasındaki konumlandırmasını tanımlamak için HTML etiketlerini ve CSS kurallarını kullanmaya benzer. Eclipse'in Android için sürükle ve bırak GUI oluşturucusu, RelativeLayout için "hizalama çizgileri" ile göründüğünüzden, bu kuralların tanımlarınızda yardımcı olabilir.

+0

Bu açıklama için çok teşekkür ederim.Android geliştirme konusunda gerçekten yeniyim, genellikle iOS için geliştirdiğim her yerde istediğiniz yere sürükleyip bırakmak çok kolay. Ben android için aynı mümkün olduğunu umuyordum. Ben zaten RelativeLayout kullanıyorum ama doğru alamıyorum, ne zaman bir düğme bir konum ayarladığımda diğer bazı düğmeleri göreceli ve ben bunları yerleştirmeye çalıştığımda ilk hareket eder ve ben sadece Çöz onu. Bunu nasıl yapacağınızı açıklayan herhangi bir öğretici biliyorsanız, bana çok yardımcı olabilir. –

+0

@AlexFish: "Genellikle iOS için geliştirdiğim her yerde istediğiniz yere sürükleyip bırakmanız çok kolay" - iOS geliştiricisi değilim, ancak Apple HIG'in sizi sürükleyip bırakmamasına izin verirseniz hayrete düşürüp hayal kırıklığına uğrayacağım Araçlar her ne olursa olsun, onu istediğiniz yere bırakın. "Bunu nasıl yapacağınızı açıklayan herhangi bir öğretici varsa, bana çok yardımcı olabilir" - kapların (örn. "RelativeLayout", LinearLayout ") nasıl çalıştığını ve GUI'nizi bu kapsayıcıları kullanarak nasıl tasarlayacağınızı öğrenmeniz gerekir. . Sürükle ve bırak, kendi başına bir son değil, bir amaçtır. – CommonsWare

+0

@AlexFish: Kapsayıcıların nasıl kullanılacağını öğrenmek için, http://developer.android.com/guide/topics/ui/overview.html adresinden başlayan çevrimiçi belgeler maalesef zayıftır, ancak var. Bunun ötesinde, kitaplar, bloglar, StackOverflow, vb. Birincil kaynaklarınızdır. – CommonsWare

0

, teşekkür ederiz. Düzeninizi Bağıl Mizanpaj olarak ayarlarsanız, tutulma GUI'sindeki herhangi bir yere sürükleyip bırakabilirsiniz.

İlgili konular