EdgeToEdge全屏状态和导航栏高度适配
发表于|更新于|Code
|浏览量:
EdgeToEdge全屏状态和导航栏高度适配
1 | ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets -> |
文章作者: Fleming Chen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!
相关推荐
2023-02-08
适配34广播动态注册
适配34广播动态注册在target 适配到34之后, 要注意registerReceiver方法的第三个参数必须设置RECEIVER_EXPORTED或RECEIVER_NOT_EXPORTED,否则报错。12345678910111213141516/** * 适配14,动态注册需要加flag * @param context * @param receiver * @param filter */fun registerReceiverCompat( context: Context, receiver: BroadcastReceiver, filter: IntentFilter) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { context.registerReceiver(receiver, filter, RECEIVER_NOT_EXPORTED) } else { ...
2024-02-08
调节对比度
调节对比度要通过代码调整Android屏幕对比度,您可以使用以下方法: 使用WindowManager.LayoutParams设置屏幕亮度和对比度: 1234WindowManager.LayoutParams layoutParams = getWindow().getAttributes();layoutParams.screenBrightness = 1.0f; //设置屏幕亮度layoutParams.contrast = 1.5f; //设置对比度getWindow().setAttributes(layoutParams); 通过Settings.System类使用ContentResolver设置系统对比度: 123ContentResolver cr = getContentResolver();Settings.System.putInt(cr, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); //设置手动调节屏幕亮度Setti...
2022-02-08
Kotlin语法糖
Kotlin语法糖Kotlin 是一种现代编程语言,它引入了许多语法糖和特性,旨在提高代码的简洁性和可读性。以下是一些 Kotlin 中常用的语法糖和特性: 1. 数据类(Data Classes)Kotlin 的数据类自动生成常见的方法,如 equals(), hashCode(), toString(), copy() 等。 1data class User(val name: String, val age: Int) 2. 属性委托(Property Delegates)属性委托允许你将属性的 getter 和 setter 代理给另一个对象。 12345class User { var name: String by Delegates.observable("John Doe") { prop, old, new -> println("$old -> $new") }} 3. 智能转换(Smart Casts)Kotlin 的智能转换允许你在类型...
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?....
2024-02-08
查询本地图片资源
查询本地图片资源12345678910111213141516171819202122232425262728293031val mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URIval mContentResolver = contentResolverval cursor: Cursor?val projection = arrayOf( MediaStore.MediaColumns._ID, MediaStore.MediaColumns.DATA, MediaStore.MediaColumns.DISPLAY_NAME, MediaStore.MediaColumns.DATE_MODIFIED)//只查询jpeg和png的图片cursor = mContentResolver.query( mImageUri, projection, MediaStore.MediaColumns.MIME_TYPE + "=? or " + MediaStore....
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) ...
公告
欢迎来到我的博客,有任何疑问可以随时联系我交流讨论!






