LinearLayout, RelativeLayout ve AbsoluteLayout arasındaki farklar nelerdir?


Yanıtlar:


213

LinearLayout görünümleri tek tek hizalayabileceğiniz anlamına gelir (dikey / yatay).

RelativeLayout , ebeveynlerinin görüşleri ve diğer görüşler arasındaki ilişkiye dayanır.

ConstraintLayout konum ve boyut widget'larıyla ilişkiler kullanması, ancak ek esnekliğe sahip olması ve Mizanpaj Düzenleyicisi'nde kullanımı daha kolay olması nedeniyle RelativeLayout'a benzer.

WebView html, statik veya dinamik sayfalar yüklemek için.

FrameLayout bir çerçevenin içindeki kartlar gibi çocuğu üst üste yüklemek için, çerçevenin içine ya da herhangi bir yere yerleştirebiliriz.

kullanımdan kaldırıldı - AbsoluteLayout görünümün nerede olması gerektiğini tam olarak belirtmeniz gerektiği anlamına gelir.

Daha fazla bilgi için lütfen bu adresi kontrol edin https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts


2
Bu bağlantıyı da kontrol edin dostum .. mobiforge.com/designing/story/…
Ganapathy C

2
AbsoluteLayout kullanımdan kaldırıldı!
Fry

3
@Fry bunu 2 yıl önce yanıtladı. Lütfen soruyu okuyun.
Ganapathy C

Görünüşe göre AbsoluteLayoutbir nedenden dolayı reddedildi; içerik uymuyorsa, rastgele şeyler atar. Bir LinearLayoutve tüm dolgularını ayarlayarak daha iyi durumdasınız 0.
EpicPandaForce

50

Tanımlar:

  • Çerçeve Düzeni: Bu, tek bir öğeyi görüntülemek için ekrandaki bir alanı engellemek üzere tasarlanmıştır.
  • Doğrusal Düzen: Çocuklarını tek bir sütunda veya tek bir sırada düzenleyen düzen.
  • Göreli Düzen: Bu düzen, alt görünümleri göreli konumlarda görüntüleyen bir görünüm grubudur.
  • Tablo Düzeni: Çocuklarını satırlara ve sütunlara yerleştiren düzen.

Daha fazla bilgi:

FrameLayout

FrameLayout, tek bir öğeyi görüntülemek için ekrandaki bir alanı engellemek üzere tasarlanmıştır. Genel olarak, FrameLayout tek bir alt görünüm elde etmek için kullanılmalıdır, çünkü alt üst görünümleri, çocuklar üst üste binmeden farklı ekran boyutlarına ölçeklenebilir bir şekilde düzenlemek zor olabilir. Bununla birlikte, bir FrameLayout'a birden çok alt öğe ekleyebilir ve android:layout_gravityözniteliği kullanarak her bir çocuğa yerçekimi atayarak FrameLayout içindeki konumlarını kontrol edebilirsiniz .

Alt görünümler, en son eklenen çocuk üstte olacak şekilde bir yığın halinde çizilir. FrameLayout öğesinin boyutu, görünür ya da görünmeyen (FrameLayout öğesinin üst öğesi uygunsa) en büyük alt öğesinin (artı dolgu) boyutudur.

RelativeLayout

RelativeLayout, bir kullanıcı arabirimi tasarlamak için çok güçlü bir yardımcı programdır, çünkü iç içe görünüm gruplarını ortadan kaldırabilir ve düzen hiyerarşinizi düz tutabilir, bu da performansı artırır. Birkaç iç içe LinearLayout grubu kullandığınızı fark ederseniz, bunları tek bir RelativeLayout ile değiştirebilirsiniz.

( Buradaki dokümanlar )

TableLayout

Bir TableLayout TableRow, her biri bir satır tanımlayan bir dizi nesneden oluşur (aslında, aşağıda açıklanacak başka çocuklarınız olabilir). TableLayout kapları satırları, sütunları veya hücreleri için sınır çizgileri görüntülemez. Her sıra sıfır veya daha fazla hücreye sahiptir; her hücre bir View nesnesini tutabilir. Tablo, en fazla hücreye sahip satır kadar sütun içerir. Bir tablo hücreleri boş bırakabilir. Hücreler, HTML'de olduğu gibi sütunlara yayılabilir.

Bir sütunun genişliği, o sütundaki en geniş hücrenin bulunduğu satırla tanımlanır.


Not : Mutlak Düzen kullanımdan kaldırılmıştır.


4

LinearLayout: Çocuklarını tek bir yatay veya dikey sıra halinde düzenleyen düzen. Pencerenin uzunluğu ekranın uzunluğunu aşarsa kaydırma çubuğu oluşturur.Bu, görünümleri tek tek (dikey / yatay) hizalayabileceğiniz anlamına gelir.

RelativeLayout: Bu, alt nesnelerin birbirlerine göre (B çocuğunun solundaki A çocuğu) veya ebeveyne (ebeveynin üstüne hizalanmış) konumunu belirlemenizi sağlar. Bu, ebeveynlerinin görüşleri ve diğer görüşler arasındaki ilişkiye dayanmaktadır.

WebView: html, statik veya dinamik sayfalar yüklemek için.

Daha fazla bilgi için bu bağlantıya bakın: http://developer.android.com/guide/topics/ui/layout-objects.html


4

LinearLayout - LinearLayout'ta görünümler dikey veya yatay yönde düzenlenir.

RelativeLayout - RelativeLayout, LinearLayout'tan çok daha karmaşıktır, bu nedenle çok daha fazla işlevsellik sağlar. Görünümler, adından da anlaşılacağı gibi, birbirlerine göre yerleştirilir.

FrameLayout - Tek bir nesne gibi davranır ve alt görünümleri üst üste bindirilir. FrameLayout, en büyük alt öğeye göre boyut alır.

Koordinatör Düzeni - Bu, Android destek kitaplığında tanıtılan en güçlü ViewGroup'tur. FrameLayout gibi davranır ve örneğin yüzer düğme ve snackbar, kaydırılabilir görünüme sahip Araç Çubuğu gibi alt görünümleri arasında koordinasyon sağlamak için birçok işlevselliğe sahiptir.


2

Burada harika açıklama:
https://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-android

LinearLayout öğeleri yatay veya dikey olarak yan yana düzenler.

RelativeLayout , kullanıcı arayüzü öğelerinizi belirli kurallara göre düzenlemenize yardımcı olur. Şunlar gibi kurallar belirtebilirsiniz: bunu ebeveynin sol kenarına hizalayın, bu öğelerin soluna / sağına yerleştirin vb.

AbsoluteLayout mutlak konumlandırma içindir, yani görünümün nereye gitmesi gerektiği konusunda kesin koordinatlar belirleyebilirsiniz.

FrameLayout , görünümlerin Z ekseni boyunca yerleşmesine izin verir. Bu, görünüm öğelerinizi üst üste istifleyebileceğiniz anlamına gelir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.