Yanıtlar:
Aynı şeydir (API Seviye 8+). Kullanın match_parent
.
FILL_PARENT (API Seviye 8 ve üstü sürümde MATCH_PARENT olarak yeniden adlandırıldı); bu, görünümün üst öğesi (eksi dolgu) kadar büyük olmasını istediği anlamına gelir
...
fill_parent
: Görünüm ebeveyni kadar büyük olmalıdır (eksi dolgu). Bu sabit, API Seviye 8'den başlayarak kullanımdan kaldırılmıştır ve onunla değiştirilmiştirmatch_parent
.
http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
-1
. Ben bu konuda daha iyi hissediyorum, ben de bu
-1
. Hatayı alıyorsunuz çünkü eski platform aynı sabitin yeni adını bilmiyor.
Google, karışıklığı önlemek için adı değiştirdi.
Eski adla ilgili sorun fill parent
, üst öğenin boyutlarını etkilediğini ima etmesiydi, match parent
sonuçta ortaya çıkan davranışı daha iyi açıkladı - boyutu üst öğeyle eşleştirin.
Her iki sabit -1
de sonunda çözülür ve böylece uygulamada aynı davranışla sonuçlanır. İronik bir şekilde, şeyleri açıklığa kavuşturmak için yapılan bu isim değişikliği, onu ortadan kaldırmak yerine karışıklık ekledi.
İşlevsel olarak hiçbir fark yok, Google adı API_8 seviyesinden (Android 2.2) fill_parent yerine match_parent olarak değiştirdi. FILL_PARENT uyumluluk nedeniyle hala kullanılabilir.
LayoutParams.FILL_PARENT
ve LayoutParams.MATCH_PARENT
her ikisi de -1 değerine sahiptir. Google'ın Dolgu Ebeveyninden Eşleşen Ebeveyn'e ne gibi bir değişiklik yapıldığından emin değilim :)
Çoğu yana phones are >= Android 2.2
.. onlar eski Dolgu Veli sabiti durduracağız emin olduğunda ... gelecekteki uyumluluğu için Karşılaşma Veli kullanmalısınız!
Uyumluluk uğruna, fill_parent'a bağlı kalmak daha iyidir, yani API 8 cihazlarının altında desteklenirken. Ancak uygulamanız API 8'i ve üstünü hedefliyorsa, bunun yerine match_parent kullanmalısınız.
FILL_PARENT
(yukarıda Matt Ball tarafından belirtildiği gibi) uygun bulunmamaktadır, sonra ileriye uyumluluk için tek seçenektir MATCH_PARENT
.
FILL_PARENT
API düzey 8'de kullanımdan kaldırıldı ve daha yüksek MATCH_PARENT
düzeyli API kullan
Gerçek eylemine daha yakın bir isim vermek için . "fill_parent"
adından da anlaşılacağı gibi kalan alanı doldurmaz (bunun için ağırlık özelliğini kullanırsınız). Bunun yerine, düzen üst öğesi kadar yer kaplar. Bu yüzden yeni isim"match_parent"
Her ikisi de benzer işlevselliğe sahip tek fark, dolgu_parent'ın API seviye 8'e kadar ve match_parent ise API seviye 8 veya üzeri seviyeden sonra kullanılmasıdır.
Eğer düzeni ayarlandığında width
ve height
olarak match_parent
içinde XML
mülkiyet bunun ana görünümü vardır komple alanını işgal edecek, yani o ebeveyn kadar büyük olacaktır.
<LinearLayout
android:layout_width="300dp"
android:layout_height="300dp"
android:background="#f9b0b0">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#b0f9dc"/>
</LinearLayout>
Tavşan ebeveyn kırmızı, çocuk yeşil. Çocuk tüm alanı işgal eder. Çünkü öyle width
ve height
öyle match_parent
.
Not: Ebeveyne bir dolgu uygulanırsa, bu alan dahil edilmez.
<LinearLayout
android:layout_width="300dp"
android:layout_height="300dp"
android:background="#f9b0b0"
android:paddingTop="20dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#b0f9dc"/>
</LinearLayout>
TextView yüksekliği = 300dp (ana yükseklik) - (20 (paddingTop) +10 (paddingBottom)) = (300-30) dp = 270 dp
fill_parent
önceki adı match_parent
API Seviye 8 ve üstü için şimdi fill_parent
olarak yeniden adlandırıldı match_parent
ve fill_parent
kullanımdan kaldırıldı.
Yani fill_parent
ve match_parent
aynı.
Görünüm, ebeveyni kadar büyük olmalıdır (eksi dolgu). Bu sabit, API Düzey 8'den başlayarak kullanımdan kaldırılmıştır ve yerine {@code match_parent} getirilmiştir.
match_parent, görünümün üst öğesi (eksi dolgu) kadar büyük olmasını istediği anlamına gelir.
wrap_content, bu da görünümün içeriğini kapsayacak kadar büyük olmasını istediği anlamına gelir (artı dolgu)
Daha iyi gösterim amacıyla, bu konsepti gösteren örnek bir düzen oluşturdum. Etkisini görmek için her textView içeriğinin kenarlığını ekledim.
"Üst öğeyi eşleştir" textView içeriğinde, yerleşim genişliğinin üst öğesinin tüm uzunluğundan yayıldığını görebiliriz.
Ancak "İçeriği Kaydır" textView içeriğini görebiliriz, içerik genişliği (İçeriği Kaydır) uzunluğunda sarılmış mizanpaj genişliği.
match_parent
ve fill_parent
bir görünümün tam ekranda yatay veya dikey olarak genişliğini veya yüksekliğini tanımlamak için kullanılan aynı özelliktir.
Bu özellikler böyle android xml dosyalarında kullanılır.
android:layout_width="match_parent"
android:layout_height="fill_parent"
veya
android:layout_width="fill_parent"
android:layout_height="match_parent"
fill_parent
önceki sürümlerde kullanıldı, ancak şimdi kullanımdan kaldırıldı ve onun yerini aldı match_parent
. Umarım sana yardımcı olur.
fill_parent: Görünüm, üst öğesi kadar büyük olmalıdır.
şimdi bu içerik fill_parent kullanımdan kaldırıldı ve yerine match_parent kullanıldı.
FILL_PARENT, API Seviye 8 ve üstü sürümde MATCH_PARENT olarak yeniden adlandırıldı; bu, görünümün üst öğesi (eksi dolgu) kadar büyük olmasını istediği anlamına gelir - Google
FILL_PARENT
API seviye 8 ve üstü kullanımdan kaldırılmıştır ve üst sürümler olarak yeniden adlandırılmıştır. MATCH_PARENT
Her ikisi de aynıdır FILL_PARENT
ve MATCH_PARENT
, FILL_PARENT
8 den daha yüksek API seviyesi de yükselir kullanılan API seviyesi 8 ve MATCH_PATENT daha az düşük bir versiyonu kullanıldı.
FILL_PARENT
( MATCH_PARENT
API Seviye 8 ve üstü olarak yeniden adlandırılmıştır ); bu, görünümün üst öğesi kadar büyük olmasını istediği anlamına gelir (eksi dolgu)
fill_parent
: Görünüm ebeveyni kadar büyük olmalıdır (eksi dolgu). Bu sabit, API Seviye 8'den başlayarak kullanımdan kaldırılmıştır ve onunla değiştirilmiştir match_parent
.
Daha fazla ayrıntı için lütfen bu sayfayı ziyaret edin
1. match_parent
Düzen genişliğini ve yüksekliğini match_parent olarak ayarladığınızda, üst görünümün sahip olduğu tüm alanı kaplar, yani üst öğe kadar büyük olur.
Not : Ebeveyne bir dolgu uygulanırsa, bu alan dahil edilmez.
Varsayılan olarak bir layout.xml oluşturduğumuzda, android ile ana ebeveyn görünümü olarak RelativeLayout'a sahibiz: layout_width = "match_parent" ve android: layout_height = "match_parent" yani mobil ekranın tüm genişliğini ve yüksekliğini kaplar.
Ayrıca dolgu malzemesinin her tarafa uygulandığını,
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
Şimdi bir alt görünüm LinearLayout ekleyelim ve layout_width = "match_parent" ve layout_height = "match_parent" ayarını yapalım, grafiksel görünüm şöyle bir şey gösterir,
match_parent_example
kod
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.code2care.android.togglebuttonexample.MainActivity" >
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="11dp"
android:background="#FFFFEE"
android:orientation="vertical" >
2. dolgu_eklemi:
Bu match_parent ile aynıdır, fill_parent API seviye 8'de amortismana tabi tutulmuştur. Dolayısıyla API 8 veya üstü seviye kullanıyorsanız fill_parent kullanmaktan kaçınmalısınız
Hadi match_parent için yaptığımız adımların aynısını izleyelim, bunun yerine her yerde fill_parent kullanın.
Hem fill_parent hem de match parent öğelerinde davranış farkı olmadığını görürsünüz.