با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
دستور پخت اینتراپ
این دستورالعمل نحوه استفاده از AndroidFragment و AndroidView را در یک برنامه Navigation3 نشان میدهد.
ویژگیها
- AndroidFragment : نحوه جاسازی یک Fragment را درون یک مقصد Composable نشان میدهد.
- AndroidView : نحوه جاسازی یک نمای کلاسیک اندروید را درون یک مقصد Composable نشان میدهد.
اجزای کلیدی
-
InteropActivity : فعالیت اصلی که ناوبری را میزبانی میکند. -
MyCustomFragment : یک Fragment ساده که در مثال استفاده شده است. -
AndroidFragment<T> : یک Composable که میزبان یک Fragment است. -
AndroidView : یک Composable که میزبان یک Android View است.
کاربرد
-
InteropActivity را اجرا کنید. - صفحه اولیه یک Fragment را نشان میدهد.
- برای رفتن به صفحهای که یک
TextView را نشان میدهد، روی «برو به مشاهده» کلیک کنید.

کاوش
دستور پخت کامل را در گیتهاب ببینید.
arrow_forward package com.example.nav3recipes.interop
import android.annotation.SuppressLint
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.fragment.app.Fragment
class MyCustomFragment : Fragment() {
@SuppressLint("SetTextI18n")
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return TextView(requireContext()).apply {
text = "My Fragment"
}
}
}package com.example.nav3recipes.interop
import android.annotation.SuppressLint
import android.os.Bundle
import android.widget.TextView
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.viewinterop.AndroidView
import androidx.fragment.app.FragmentActivity
import androidx.fragment.compose.AndroidFragment
import androidx.lifecycle.compose.dropUnlessResumed
import androidx.navigation3.runtime.NavKey
import androidx.navigation3.runtime.entryProvider
import androidx.navigation3.runtime.rememberNavBackStack
import androidx.navigation3.ui.NavDisplay
import com.example.nav3recipes.ui.setEdgeToEdgeConfig
import kotlinx.serialization.Serializable
@Serializable
private data object FragmentRoute : NavKey
@Serializable
private data class ViewRoute(val id: String) : NavKey
class InteropActivity : FragmentActivity() {
@SuppressLint("SetTextI18n")
override fun onCreate(savedInstanceState: Bundle?) {
setEdgeToEdgeConfig()
super.onCreate(savedInstanceState)
setContent {
val backStack = rememberNavBackStack(FragmentRoute)
NavDisplay(
backStack = backStack,
onBack = { backStack.removeLastOrNull() },
entryProvider = entryProvider {
entry<FragmentRoute> {
Column(Modifier.fillMaxSize().wrapContentSize()) {
AndroidFragment<MyCustomFragment>()
Button(onClick = dropUnlessResumed {
backStack.add(ViewRoute("123"))
}) {
Text("Go to View")
}
}
}
entry<ViewRoute> { key ->
AndroidView(
modifier = Modifier.fillMaxSize().wrapContentSize(),
factory = { context ->
TextView(context).apply {
text = "My View with key: ${key.id}"
}
}
)
}
}
)
}
}
}
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2026-05-06 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2026-05-06 بهوقت ساعت هماهنگ جهانی."],[],[]]