Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Fragment, uygulamanızın kullanıcı arayüzünün yeniden kullanılabilir bir bölümünü temsil eder. Bir parça kendi düzenini tanımlayıp yönetir, kendi yaşam döngüsüne sahiptir ve kendi giriş etkinliklerini işleyebilir. Parçalar kendi başlarına
yaşamazlar. Bunlar bir etkinlik veya başka bir parça tarafından barındırılmalıdır. Parçanın görünüm hiyerarşisi, ana makinenin görünüm hiyerarşisinin bir parçası veya eklenir.
Modülerlik
Parçalar, kullanıcı arayüzünü farklı parçalara bölmenize olanak tanıyarak etkinliğinizin kullanıcı arayüzüne modülerlik ve yeniden kullanılabilirlik katar. Etkinlikler, uygulamanızın kullanıcı arayüzünün etrafına gezinme çekmecesi gibi genel öğeler yerleştirmek için ideal bir yerdir. Buna karşılık, parçalar tek bir ekranın veya ekranın bir bölümünün kullanıcı arayüzünü tanımlamak ve yönetmek için daha uygundur.
Çeşitli ekran boyutlarına yanıt veren bir uygulama düşünün. Daha büyük ekranlarda, uygulamanın statik gezinme çekmecesi ve ızgara düzeninde bir liste görüntülemesini isteyebilirsiniz. Daha küçük ekranlarda uygulamanın, alt gezinme çubuğunu ve doğrusal bir düzende bir liste göstermesini isteyebilirsiniz.
Etkinlikteki bu varyasyonları yönetmek
gereksiz bir beceridir. Gezinme öğelerinin içerikten ayrılması bu süreci daha yönetilebilir hale getirebilir. Daha sonra etkinlik, doğru gezinme kullanıcı arayüzünü görüntülemekten sorumludur ve parça, listeyi uygun düzenle görüntüler.
Şekil 1. Farklı ekran boyutlarında aynı ekranın iki sürümü. Solda, büyük bir ekranda etkinlik tarafından kontrol edilen gezinme çekmecesi ve parça tarafından kontrol edilen ızgara listesi bulunur. Sağ taraftaki küçük ekranda, etkinlik tarafından kontrol edilen alt gezinme çubuğu ve parça tarafından kontrol edilen doğrusal bir liste bulunuyor.
Kullanıcı arayüzünüzü parçalara bölmek, çalışma zamanında etkinliğinizin görünümünü değiştirmenizi kolaylaştırır. Etkinliğiniz STARTEDyaşam döngüsü durumunda veya daha yüksek olduğunda parçalar eklenebilir, değiştirilebilir veya kaldırılabilir. Ayrıca değişikliklerin geri alınabilmesi için bu değişikliklerin kaydını etkinlik tarafından yönetilen bir arka yığında saklayabilirsiniz.
Aynı etkinlik içinde, birden fazla etkinlikte veya başka bir parçanın alt öğesi olarak aynı parça sınıfının birden fazla örneğini kullanabilirsiniz. Bunu göz önünde bulundurarak sadece kendi kullanıcı arayüzünü
yönetmek için gereken mantığı içeren bir parça sağlayın. Bir parçaya bağlı olarak veya başka bir parçayı
değiştirmekten kaçının.
Sonraki adımlar
Parçalarla ilgili daha fazla doküman ve kaynak için aşağıdakilere bakın.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Fragments\n\nA [`Fragment`](/reference/androidx/fragment/app/Fragment) represents a\nreusable portion of your app's UI. A fragment defines and manages its own\nlayout, has its own lifecycle, and can handle its own input events. Fragments\ncan't live on their own. They must be *hosted* by an activity or another\nfragment. The fragment's view hierarchy becomes part of, or *attaches to*,\nthe host's view hierarchy.\n| **Note:** Some [Android Jetpack](/jetpack/androidx/versions) libraries, such as [Navigation](/guide/navigation), [`BottomNavigationView`](/reference/com/google/android/material/bottomnavigation/BottomNavigationView), and [`ViewPager2`](/jetpack/androidx/releases/viewpager2), are designed to work with fragments.\n\nModularity\n----------\n\nFragments introduce modularity and reusability into your activity's UI by\nletting you divide the UI into discrete chunks. Activities are an ideal\nplace to put global elements around your app's user interface, such as a\nnavigation drawer. Conversely, fragments are better suited to define and\nmanage the UI of a single screen or portion of a screen.\n\nConsider an app that responds to various screen sizes. On larger screens, you\nmight want the app to display a static navigation drawer and a list in a grid\nlayout. On smaller screens, you might want the app to display a bottom\nnavigation bar and a list in a linear layout.\n\nManaging these variations in the activity is\nunwieldy. Separating the navigation elements from the content can make this\nprocess more manageable. The activity is then responsible for displaying\nthe correct navigation UI, while the fragment displays the list with the proper\nlayout.\n**Figure 1.** Two versions of the same screen on different screen sizes. On the left, a large screen contains a navigation drawer that is controlled by the activity and a grid list that is controlled by the fragment. On the right, a small screen contains a bottom navigation bar that is controlled by the activity and a linear list that is controlled by the fragment.\n\nDividing your UI into fragments makes it easier to modify your activity's\nappearance at runtime. While your activity is in the `STARTED`\n[lifecycle state](/guide/components/activities/activity-lifecycle) or\nhigher, fragments can be added, replaced, or removed. And you can keep a record\nof these changes in a back stack that is managed by the activity, so that\nthe changes can be reversed.\n\nYou can use multiple instances of the same fragment class within the\nsame activity, in multiple activities, or even as a child of another\nfragment. With this in mind, only provide a fragment with\nthe logic necessary to manage its own UI. Avoid depending on or\nmanipulating one fragment from another.\n\nNext steps\n----------\n\nFor more documentation and resources related to fragments, see the following.\n\n### Getting Started\n\n- [Create a fragment](/guide/fragments/create)\n\n### Further topics\n\n- [Fragment manager](/guide/fragments/fragmentmanager)\n- [Fragment transactions](/guide/fragments/transactions)\n- [Navigate between fragments using animations](/guide/fragments/animate)\n- [Fragment lifecycle](/guide/fragments/lifecycle)\n- [Saving state with fragments](/guide/fragments/saving-state)\n- [Communicate with fragments](/guide/fragments/communicate)\n- [Working with the AppBar](/guide/fragments/appbar)\n- [Display dialogs with DialogFragment](/guide/fragments/dialogs)\n- [Debug your fragments](/guide/fragments/debugging)\n- [Test your fragments](/guide/fragments/test)\n\n### Samples\n\n### Videos\n\n- [Single Activity: Why, when, and how (Android Dev Summit '18)](https://www.youtube.com/watch?v=2k8x8V77CrU)\n- [Fragments: Past, present, and future (Android Dev Summit '19)](https://www.youtube.com/watch?v=RS1IACnZLy4)"]]