我禁用了fitSystemWindowsviaWindowCompat.setDecorFitsSystemWindows(window, false)在状态栏后面绘制,并且我正在使用insets accompanist 库来获取相应的插图,以将填充添加到特定的可组合项。
但是,如果我显示全屏对话框,该对话框仍然具有系统栏和导航栏的填充,并且拒绝在状态栏后面绘制。
该对话框类似于以下代码片段:
Dialog(
onDimissRequest = {},
properties = DialogProperties(usePlatformDefaultWidth = false)
) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
是否需要任何其他设置才能让对话框绘制在系统状态栏后面?
android android-dialog android-dialogfragment android-jetpack-compose
更推荐哪种方法来组合多个 LiveData:使用MediatorLiveData或switchMap?
// MediatorLiveData approach
fun <A, B, C> combine(
liveData1: LiveData<A>,
liveData2: LiveData<B>,
onChanged: (A?, B?) -> C
): MediatorLiveData<C> {
return MediatorLiveData<C>().apply {
addSource(liveData1) {
value = onChanged(liveData1.value, liveData2.value)
}
addSource(liveData2) {
value = onChanged(liveData1.value, liveData2.value)
}
}
}
// switchMap approach
fun <A, B, C> combine(
liveData1: LiveData<A>,
liveData2: LiveData<B>,
onChanged: (A, B) -> C
): LiveData<C> {
return liveData1.switchMap { a ->
liveData2.map { b ->
onChanged(a, b)
}
}
}
Run Code Online (Sandbox Code Playgroud)
该 …