EdgeToEdge全屏状态和导航栏高度适配
发表于|更新于|Code
|浏览量:
EdgeToEdge全屏状态和导航栏高度适配
1 | ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets -> |
文章作者: Fleming Chen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!
相关推荐
2023-11-14
将 raw 资源复制为临时文件
将 raw 资源复制为临时文件123456789101112131415161718192021import java.io.*fun copyRawToCache(context: Context, @RawRes rawId: Int, fileName: String): File? { val cacheFile = File(context.cacheDir, fileName) if (cacheFile.exists()) { // 可选:避免重复复制(注意更新策略) return cacheFile } return try { context.resources.openRawResource(rawId).use { input -> cacheFile.outputStream().use { output -> input.copyTo(output) ...
2024-02-10
如何设置菜单
为了优化 onActivityCreated 和 onCreateOptionsMenu 并避免使用过期方法,建议采用以下现代 Android 开发实践: 移除 onActivityCreated:该方法已弃用。原本在其中调用的 setHasOptionsMenu(true) 也可以移除。 使用 MenuProvider API:这是替代 onCreateOptionsMenu 和 onOptionsItemSelected 的推荐方式,它能更好地与生命周期结合。 123456789101112131415161718192021222324252627282930313233private fun setupMenu() { val menuHost: MenuHost = requireActivity() menuHost.addMenuProvider(object : MenuProvider { override fun onCreateMenu( menu: Menu, ...
2021-02-08
监听网络连接状态
监听网络连接状态 通过注册网络回调 (NetworkCallback),可以动态监控 Wi-Fi 的连接状态。 1234567891011121314151617181920val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManagerval networkCallback = object : ConnectivityManager.NetworkCallback() { override fun onAvailable(network: Network) { val networkCapabilities = connectivityManager.getNetworkCapabilities(network) if (networkCapabilities?.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) == true) ...
2021-02-08
加载fragment
加载fragment1234567891011121314151617181920212223242526272829/** * 加载fragment */fun FragmentActivity.loadFragment(id: Int, from: Fragment?, to: Fragment?) { supportFragmentManager.let { manager -> manager.beginTransaction().run { if (from != to) { val fromFragment = manager.findFragmentByTag(from?.javaClass?.simpleName) fromFragment?.let { hide(it) } val toFragment = manager.findFragmentByTag(to?....
2020-02-27
Edittext点击外部区域隐藏软件盘
Edittext点击外部区域隐藏软件盘12345678910111213binding.root.setOnTouchListener { _, event -> if (event.action == MotionEvent.ACTION_DOWN) { val focusedView: View? = activity?.currentFocus if (focusedView is EditText) { // 如果当前焦点在EditText上,并且点击位置不在EditText范围内,隐藏键盘 if (event.x < focusedView.getLeft() || event.x > focusedView.getRight() || event.y < focusedView.getTop() || event.y > focusedView.getBottom()) { ...
2017-08-10
Android中丰富的对话框
Android中对话框的展示,对人机交互有着重要的意义,常见的对话框包括: 警告对话框 进度对话框 日期选择对话框 时间选择对话框 普通列表对话框 单选列表对话框 多选列表对话框 带图标的列表对话框 对于特殊的对话框形式还可以自定义对话框 下面对这些对话框的使用进行说明: 警告对话框1234567891011121314151617181920212223242526272829private void showAlertDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); builder.setIcon(R.mipmap.ic_launcher); builder.setMessage("您有一笔2千万的汇款在处理,请问是您亲自操作的吗?"); builder.setPositiveButton(R.string.con...
公告
欢迎来到我的博客,有任何疑问可以随时联系我交流讨论!






