Android 35适配

复制代码
1.App   build.gradle

android {
    namespace 'com.xx.xx'
    compileSdk 35

    defaultConfig {
        applicationId "com.xx.xx"
        minSdk 24
        targetSdk 35
        versionCode 15
        versionName "1.3.2"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
}

 dependencies {
     implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.24"
     implementation 'androidx.core:core-ktx:1.15.0'
     implementation 'androidx.appcompat:appcompat:1.7.0'
     implementation 'com.google.android.material:material:1.12.0'
     implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
     implementation project(path: ':common')
     testImplementation 'junit:junit:4.13.2'
     androidTestImplementation 'androidx.test.ext:junit:1.1.5'
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
     implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
     implementation 'com.hwangjr.rxbus:rxbus:3.0.0'
     implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
     //基础的 OkSocket 功能集成包.您的Socket开发无论是客户端还是Java,都需要此包 (必须集成)
     implementation 'com.tonystark.android:socket:4.2.1'
     implementation 'com.github.ybq:Android-SpinKit:1.4.0'
     implementation 'com.guolindev.permissionx:permissionx:1.7.1'
     /**
      * room
      * 2.4.3版本31
      */
     def room_version = "2.3.0"
     implementation "androidx.room:room-runtime:$room_version"
     // 注解处理器(Kotlin 用 kapt,Java 用 annotationProcessor)
     kapt "androidx.room:room-compiler:$room_version"
     implementation "androidx.room:room-ktx:$room_version"//Coroutines support for Room 协程操作库
     implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2"

     //lifecycle
     implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.7'
     implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7'
 }
===============

2.gradle.properties增加
android.overridePathCheck=true

3.gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip

4.根目录的build.gradle
   dependencies {
        classpath "com.android.tools.build:gradle:8.6.0"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

5 themes.xml

<style name="FullScreen" parent="Theme.AppCompat.Light.NoActionBar">

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimary</item>
        <item name="colorAccent">@color/colorPrimary</item>

        <item name="windowNoTitle">true</item>

        <item name="android:windowActionModeOverlay">true</item>

        <item name="android:statusBarColor">@android:color/transparent</item>
        <item name="android:navigationBarColor">@android:color/transparent</item>

    </style>

6.BaseActivity

    private fun setImmersiveFullscreen() {

            // 允许内容延伸到系统栏区域
            WindowCompat.setDecorFitsSystemWindows(window, false)

            // Android 10+
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
                window.isStatusBarContrastEnforced = false
                window.isNavigationBarContrastEnforced = false
            }

            // 透明
            window.statusBarColor = Color.TRANSPARENT
            window.navigationBarColor = Color.TRANSPARENT

            val controller = WindowInsetsControllerCompat(
                window,
                window.decorView
            )

            // 隐藏状态栏 + 导航栏
            controller.hide(WindowInsetsCompat.Type.systemBars())

            // 沉浸式
            controller.systemBarsBehavior =
                WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
        }
相关推荐
jack186894 分钟前
安卓手机忘记锁屏密码怎么办? 无需密码也可解锁
android·智能手机
应用市场3 小时前
不用一张图片的像素小游戏:小人是字符串,房间是矩形,平衡靠两千个假玩家
android·kotlin·游戏开发
stevenzqzq4 小时前
android 对渠道的理解
android
QEasycloud4 小时前
BOM接口抛转失败钉钉通知策略实战教程:MySQL异常日志到钉钉消息的端到端配置
android·mysql·钉钉
AIsoft_86894 小时前
医患交流内容如何做好记录?
android·iphone
蒸鱼Yuzheng5 小时前
Android Native 崩溃证据链:Tombstone、Build ID 与 Trace 如何联合归因
android·ndk·tombstone·调试符号·崩溃分析
事圆则缓5 小时前
Kotlin 变量与函数:把页面状态和行为写成清楚的契约
android·开发语言·kotlin
hunterandroid5 小时前
MVVM 迁移到 MVI:复杂页面状态如何收敛
android
妖星5 小时前
Android 开机动画定制:从 bootanimation.zip 到源码编译
android
临期冰淇淋6 小时前
MTK平台 安卓16 GMS报错修改
android·java·前端