Mevcut bir View tabanlı uygulamanız varsa, uygulamanın tamamını yeniden yazmak istemeyebilirsiniz. Kullanıcı arayüzü. Bu sayfa, kampanyanıza yeni Compose bileşenleri eklemenize yardımcı olur. kullanabilirsiniz. Uygulamanızda Compose'u kullanmaya başlamak için Oluştur'u ayarlama başlıklı makaleye göz atın. mevcut bir uygulama için.
Jetpack Compose, daha en baştan View birlikte çalışabilirlik özelliğiyle tasarlandı. Bu işlev sayesinde, yeni özellikler oluşturmaya devam ederken mevcut görüntüleme tabanlı uygulamanızı Oluştur'a taşıyabilirsiniz. Compose'a taşıma işlemini Oluştur ve Görünümlerin mevcut dizinde bir arada bulunduğu artımlı kod tabanınızı oluşturamazsınız.
Uygulamanızı Compose'a taşımak için şu adımları uygulayın:
- Compose ile yeni ekranlar oluşturun.
- Özellikler oluştururken, yeniden kullanılabilir öğeleri belirleyin ve kitaplığını oluşturur.
- Mevcut özellikleri tek seferde bir ekranla değiştirin.
Compose ile yeni ekranlar oluşturun
Ekranın tamamını kaplayan yeni özellikler oluşturmak için Oluştur'u kullanmak, en iyi uygulamaları paylaşacağız. Bu stratejiyle, şirketinizin iş ihtiyaçlarını karşılarken özellikler ekleyebilir ve Oluştur'un avantajlarından yararlanabilirsiniz.
Mevcut uygulamanızda yeni ekranlar oluşturmak için Derle'yi kullandığınızda uygulamanızın mimarisinin kısıtlamaları altında çalışmaya devam edersiniz. Şunu kullanıyorsanız: bileşenleri ve Gezinme bileşenini tanımlarsanız, bu durumda yeni bir Parça ve içeriklerini Compose'da bulabilirsiniz.
Bir Parçada Oluştur özelliğini kullanmak için bir Parçada ComposeView
değerini döndürün
Parçanızın onCreateView()
yaşam döngüsü yöntemi. ComposeView
bir
composable işlev sağlayabileceğiniz setContent()
yöntemi.
class NewFeatureFragment : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { return ComposeView(requireContext()).apply { setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) setContent { NewFeatureScreen() } } } }
Daha fazla bilgi edinmek için Parçalarda ComposeView bölümüne bakın.
Mevcut ekranlara yeni özellikler ekleme
Eklediğiniz yeni özellik mevcut bir ekranın parçasıysa Oluştur'u mevcut bir Görüntü tabanlı ekranda da kullanabilirsiniz. Bunu yapmak içinComposeView
Hiyerarşiyi tıpkı diğer Görünümler gibi görüntüleyebilirsiniz.
Örneğin, bir LinearLayout
öğesine alt görünüm eklemek istediğinizi varsayalım. Bu sayede
aşağıdaki gibi XML'dedir:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <androidx.compose.ui.platform.ComposeView android:id="@+id/compose_view" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
Görünüm şişirildikten sonra hiyerarşide ComposeView
'e referans verebilir ve setContent()
'ı çağırabilirsiniz.
ComposeView
hakkında daha fazla bilgi edinmek için Birlikte çalışabilirlik API'leri başlıklı makaleyi inceleyin.
Ortak kullanıcı arayüzü bileşenlerinden oluşan bir kitaplık derleme
Besteleme özelliğiyle özellik geliştirirken, elinizin altında olduğunu fark edeceksiniz. oluşturmaya karar verebiliriz. Ortak kullanıcı arayüzü bileşenleri kitaplığı oluşturma uygulamanızda bu bileşenler için tek bir doğruluk kaynağına sahip olmanızı sağlar. teşvik etmek sizin görevinizdir. Derlediğiniz özellikler bu kitaplığa bağlı olabilir. Bu bu teknik özellikle, bir web sitesinde özel tasarım sistemi Oluştur'u tıklayın.
Bu kitaplık, uygulamanızın boyutuna bağlı olarak ayrı bir paket, modül veya kitaplık modülü olabilir. Uygulamanızdaki modülleri düzenleme hakkında daha fazla bilgi için Android uygulama modülerleştirme rehberi başlıklı makaleyi inceleyin.
Mevcut özellikleri Oluştur ile değiştir
Yeni özellikler oluşturmak için Oluşturma'yı kullanmanın yanı sıra, Uygulamanızdaki mevcut özellikleri taşıyarak Compose'dan yararlanabilirsiniz.
Uygulamanızın yalnızca Composer olmasını sağlamak, geliştirme sürecinizi hızlandırabilir uygulamanızın APK boyutunu ve derleme sürelerini küçültün. Oluşturma ve Görüntüleme Karşılaştırması'nı inceleyin. performansı başlıklı makaleyi inceleyin.
Basit ekranlar
Mevcut özellikleri Compose'a taşırken bakacağınız ilk yerler basittir ekranları. Basit ekranlar; karşılama ekranı, onay ekranı veya kullanıcı arayüzünde görüntülenen verilerin nispeten statik olduğu bir ayar ekranı.
Aşağıdaki XML dosyasını ele alalım:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/title_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/title" android:textAppearance="?attr/textAppearanceHeadline2" /> <TextView android:id="@+id/subtitle_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/subtitle" android:textAppearance="?attr/textAppearanceHeadline6" /> <TextView android:id="@+id/body_text" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:text="@string/body" android:textAppearance="?attr/textAppearanceBody1" /> <Button android:id="@+id/confirm_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/confirm"/> </LinearLayout>
XML dosyası, Compose'da birkaç satır içinde yeniden yazılabilir:
@Composable fun SimpleScreen() { Column(Modifier.fillMaxSize()) { Text( text = stringResource(R.string.title), style = MaterialTheme.typography.headlineMedium ) Text( text = stringResource(R.string.subtitle), style = MaterialTheme.typography.headlineSmall ) Text( text = stringResource(R.string.body), style = MaterialTheme.typography.bodyMedium ) Spacer(modifier = Modifier.weight(1f)) Button(onClick = { /* Handle click */ }, Modifier.fillMaxWidth()) { Text(text = stringResource(R.string.confirm)) } } }
Karma görünüm ve Oluşturma ekranları
Biraz Oluştur kodu içeren bir ekran başka bir iyi adaydır taşımanın ilk adımıdır. Ekranın karmaşıklığına bağlı olarak, bunu tamamen Compose'a taşıyabilir veya her parçayı ayrı ayrı yapabilirsiniz. Öğe kullanıcı arayüzü hiyerarşisinin bir alt ağacında bulunan Oluştur ile başladığında devam edersiniz, kullanıcı arayüzü öğelerini taşımaya devam edebilir. Bu yaklaşım aşağıdan yukarıya yaklaşım olarak da adlandırılır.
Fragment'leri ve Gezinme bileşenini kaldırma
Tüm Fragment'lerinizi kaldırıp ilgili ekran düzeyinde kompozisyonlarla değiştirdikten sonra Gezinme Oluşturma'ya geçebilirsiniz. Ekran düzeyi composable'lar Oluştur ve Görüntüle içeriklerinin bir karışımını içerebilir, ancak hepsi Gezinme Oluşturma Aracı'nın etkinleştirilmesi için gezinme hedeflerinin composables olması gerekir taşıma. O zamana kadar Karma Görünüm ve Oluştur işlemlerinizde Parça tabanlı Gezinme bileşeni kullanabilirsiniz. Jetpack Gezinme'yi Gezinme Oluşturmaya Taşıma başlıklı makaleye göz atın: daha fazla bilgi edinin.
Ek kaynaklar
Mevcut görüntüleme tabanlı uygulamanızı Oluştur'a taşıma hakkında daha fazla bilgi edinmek için aşağıdaki ek kaynaklara göz atın:
- Kod Laboratuvarı
- Jetpack Compose'a geçiş: Sunflower'ın parçalarını taşımayı öğrenin uygulamasını göstereceğim.
- Blog yayınları
- Sunflower'ı Jetpack Compose'a taşıma: Nasıl yapılacağını öğrenin Sunflower, bu sayfada açıklanan strateji kullanılarak Compose'a taşındı.
- Jetpack Compose Interop: Compose'u RecyclerView'da kullanma:
RecyclerView
uygulamasında Oluştur'u etkili bir şekilde nasıl kullanacağınızı öğrenin.
Sonraki adımlar
Artık mevcut Görüntüleme tabanlı verilerinizi taşımak için uygulayabileceğiniz stratejiyi uygulamasında hakkında daha fazla bilgi edinmek için Birlikte çalışabilirlik API'lerini inceleyin.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Görünümler'de Oluşturma işlevini kullanma
- Kaydırma
RecyclerView
adlı cihazı geç listeye taşı