Tips

suspendCoroutine

suspend fun call() = suspendCoroutine<T> {
    io {
        val async: Deferred<T> = async(Dispatchers.IO) {
            // T
        }
        async.await()
        continuation.resume(T)
    }
}

ignore DEPRECATION

@Suppress("DEPRECATION")

导航栏背景全透明前景色不为全白的方法 Transparent NavigationBar

在 Themes.xml 主题添加,并应用于需要的 Activity。

<item name="android:enforceNavigationBarContrast">false</item>

在给定 Activity 添加以下代码。

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // 在 super.onCreate(savedInstanceState) 后调用,API 30 上有空指针崩溃 BUG,https://cloud.tencent.com/developer/ask/sof/568185
    WindowCompat.setDecorFitsSystemWindows(window, false)
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
        if (AppCompatDelegate.getDefaultNightMode() != AppCompatDelegate.MODE_NIGHT_YES) {
            window.insetsController?.setSystemBarsAppearance(
                WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
                WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS
            )
        } else {
            window.insetsController?.setSystemBarsAppearance(0, WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS)
        }
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        @Suppress("DEPRECATION")
        if (AppCompatDelegate.getDefaultNightMode() != AppCompatDelegate.MODE_NIGHT_YES) {
            window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR or window.decorView.systemUiVisibility
        } else {
            window.decorView.systemUiVisibility = window.decorView.systemUiVisibility
        }
    }
    window.navigationBarColor = android.graphics.Color.TRANSPARENT

    
    // ...
}

贡献来自:Github@1552980358

compositionLocalOf 学习

default 是当无 provides 时候的提供值

CompositionLocalProvider(
    Local... provides [变更影响下方]
) {
    // 影响
}

CoordinatorLayout + EditText

EditText 所在的可滑动区域设定了滑动 AppBarLayout.ScrollingViewBehavior,在调整窗口大小后可能会有严重的性能问题。页面会多次 Measure 。

部分系统上 WebView

Bold 需要字重达到 700

Last Updated:
Contributors: wshzard, Moriafly, Moriafly