AndroidView

interface AndroidView<T : Modifier> : Widget<T>

用于在 Compose 中嵌入 Android 原生 View 的可组合项。

当您需要使用无法或不适合在 Compose 中重新实现的 Android View 时, 例如 WebView, SurfaceView, AdView 等,通常会用到 AndroidView

Parameters

T

修饰符的类型

Functions

Link copied to clipboard
abstract fun DisposableEffect(disposableEffectBuilder: DisposableEffect.() -> Unit)
Link copied to clipboard
Link copied to clipboard
abstract fun <V> getCompositionLocalValue(compositionLocal: ProvidableCompositionLocal<V>): V?

获取 compositionLocal 的值

Link copied to clipboard
abstract fun getContext(): ScriptContext

获取脚本上下文对象 ScriptContext.

Link copied to clipboard
abstract fun LaunchedEffect(launchedEffectBuilder: LaunchedEffect.() -> Unit)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun setFactory(factoryBuilder: (Context) -> View?)

设置用于创建 Android View 的工厂 lambda。 这个 lambda 只会被调用一次,以获取要组合的 View 实例。 它保证在 UI 线程上执行,因此除了创建 View,还可以用于执行一次性的初始化设置。

Link copied to clipboard
abstract fun setModifier(modifierBuilder: T.() -> Unit)
Link copied to clipboard
abstract fun setOnRelease(onReleaseBuilder: (View) -> Unit)

设置一个回调,作为此 View 实例已完全退出组合层级且不会再被复用的信号。 一旦此回调返回,Compose 将不会再尝试复用该 View 实例。 此时应释放该 View 使用的任何额外资源。

Link copied to clipboard
abstract fun setOnReset(onResetBuilder: (View) -> Unit)

设置一个回调,作为 View 即将被复用的信号。 当 View 准备在与原始创建环境不同的上下文中重新附加到组合层级时,此回调会被调用。 它在 getUpdate 之前被调用,应用来重置任何临时状态,如动画或用户输入。 如果设置为 null(默认),则此 AndroidView 实例将不支持复用。

Link copied to clipboard
abstract fun setUpdate(updateBuilder: (View) -> Unit)

设置一个在 View 创建后和每次重组时调用的更新 lambda。 这个 lambda 可能会因重组而多次执行(同样在 UI 线程上), 是设置 View 新属性和状态的正确位置。

Link copied to clipboard
abstract fun setVisible(visible: Boolean)

设置显示/隐藏当前 Composable

Link copied to clipboard
abstract fun SideEffect(sideEffectBuilder: SideEffect.() -> Unit)
Link copied to clipboard

设置所有需要用到的聚合状态,例如 DrawerState, BottomSheetState 等

Link copied to clipboard
abstract fun trackSingleState(state: SingleState)

添加当前 Composable 需要监听的状态,如果状态改变的话 Composable 会重组