Programlamada yeniyim. Graphical Layout kullanıyordum ve xml dosyasını okurken FrameLayout'u gördüm. Sonra aradım ama yararlı bir şey bulamadım. FrameLayout nedir ve ne işe yarar?
Programlamada yeniyim. Graphical Layout kullanıyordum ve xml dosyasını okurken FrameLayout'u gördüm. Sonra aradım ama yararlı bir şey bulamadım. FrameLayout nedir ve ne işe yarar?
Yanıtlar:
En son alt öğe yığının en üstünde olacak şekilde alt görünümleri üst üste yığmak için bir FrameLayout kullanırsınız. Aşağıdaki örnekte, TextView en güncel olanıdır, bu nedenle otomatik olarak ImageView’un üstüne yerleştirilir.
Örneğin:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/bitmapie" />
<TextView
android:id="@+id/descTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="70dp"
android:background="@android:color/holo_blue_light"
android:padding="10dp"
android:text="TextView placed at the top of the Imageview"
android:textColor="@android:color/white"
android:textSize="22sp" />
</FrameLayout>
Çıktı:
FrameLayout
en basit uygulamasıdır ViewGroup
. Alt görünümler, en son eklenen görünümün en üste çizildiği bir yığın halinde çizilir. Genellikle sonraki yaklaşımlardan birini kullanabilir veya bunları birleştirebilirsiniz:
FrameLayout
android:layout_gravity
bunlarda gezinmek için kullanınBaşka bir popüler kullanım yaklaşımı FrameLayout
:
Fragment
, kabınViewGroup
Kelimeyi frame
normal fotoğraf çerçevesi olarak düşünebilirsiniz . O çerçeveyle ne yapıyorsun? fotoğrafları bu çerçeveye üst üste yerleştirebilirsiniz. Aynı olduğu gibi FrameLayout
biz gibi diğer görüşlerini (Herhangi düzeni veya widget'ı düğme, metin gibi, görüntü vb) üst yerleştirebilirsiniz @ojonugwa gösterileri size Görüntü TextView'un üst.
iframe
web geliştirmeden geldiğim gibi düşünüyordum . En basit açıklama için teşekkürler.
Google'da aradığınızdan emin misiniz?
Çerçeve Düzeni, tek bir öğeyi görüntülemek için ekrandaki bir alanı bloke etmek üzere tasarlanmıştır. Genel olarak, FrameLayout tek bir çocuk görünümünü tutmak için kullanılmalıdır, çünkü çocuk görünümlerini, çocuklar birbiriyle örtüşmeden 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ğini kullanarak her bir alt öğeye yer çekimi atayarak bunların FrameLayout içindeki konumunu kontrol edebilirsiniz.
FrameLayout'un sırrı, alt öğelerini nasıl düzenlediğidir. Normalde bir öğe içerecek şekilde tasarlanmış olsa da, diğer öğeleri mutlu bir şekilde üst üste yığacaktır. Bu nedenle FrameLayout, esasen ekrandaki görünümlerin Z sırasını değiştirmenin bir yoludur.
Bu, HUD benzeri öğelerden kayan panellere ve daha karmaşık animasyonlu geçişlere kadar birkaç UI numarası için süper kullanışlıdır. Bu yazıda bunların her biri için bir örnek göreceğiz.
FrameLayout, bir seferde tek bir öğeyi görüntülemek için tasarlanmıştır. Bir FrameLayout içinde birden fazla öğeniz olabilir, ancak her öğe ekranın sol üst köşesine göre konumlandırılacaktır. Örtüşen öğeler üst üste binerek görüntülenecektir. Bunun nasıl çalıştığını gösteren FrameLayout kullanarak basit bir XML düzeni oluşturdum.
Temel olarak, örneğin bir görünümü diğerinin üzerine koyar:
Görseldeki metni şişirme
<FrameLayout>
<ImageView>
<Textview>
</FrameLayout>