Jetpack Compose常用工具包推荐

跟常规的View体系一样,Compose在扩展库方面也获得了很多官方支持。以下扩展库,如果没有特殊说明,都在官方仓库https://google.github.io/accompanist/或https://github.com/google/accompanist。

Insets

作用:设置 WindowsInsets

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-insets:"
    // If using insets-ui
    implementation "com.google.accompanist:accompanist-insets-ui:"
}

System UI Controller

作用:设置系统状态栏的颜色和显示隐藏

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-systemuicontroller:"
}

AppCompat Theme Adapter

作用:引用 AppCompat 的 xml 形式主题

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-appcompat-theme:"
}

Pager

作用:类似 Android 里面的 ViewPager

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-pager:"

    // If using indicators, also depend on 
    implementation "com.google.accompanist:accompanist-pager-indicators:"
}

Permissions

作用:Compose中的权限请求

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-permissions:"
}

Placeholder

作用:更简单的使用数据未加载时的占位符

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    // If you're using Material, use accompanist-placeholder-material
    implementation "com.google.accompanist:accompanist-placeholder-material:"

    // Otherwise use the foundation version
    implementation "com.google.accompanist:accompanist-placeholder:"
}

Flow Layouts

作用:让工程可引用Flexbox-line 布局

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-flowlayout:"
}

Navigation-Animation

作用:作用于导航的动画

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-navigation-animation:"
}

Navigation-Material

作用:提供Compose Material 支持,比如 model、bottom、sheets等等。

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-navigation-material:"
}

Drawable Painter

作用:可使工程更灵活的使用 Android Drabables

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-drawablepainter:"
}

Swipe to Refresh

作用:下拉刷新,类似于View体系下的 SwipeRefreshLayout

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-swiperefresh:"
}

WebView

作用:类似于类似于View体系下的WebView,加载js页面并与其交互等。

配置方式:

repositories { 
    mavenCentral() 
}

dependencies { 
    implementation "com.google.accompanist:accompanist-webview:"
}

Coil

作用:图片加载,经测试,比Glide有更优秀的内存占用,强烈推荐!
优势:Coil完全使用Kotlin编写,其占用的内存大概是Glide的一半其更适用于采用Kotlin开发的Android项目。
(注意这个库并不是Coil库,而是Google封装了Coil用于在Jetpack compose中使用)

地址:点我

配置方式:

implementation "com.google.accompanist:accompanist-coil:0.11.1"

lifecycle-viewmodel-compose

作用:可供使用ViewModel(),对代码进行MVVM架构(这样说可能不太严谨)。
配置方式:

implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha07'

数据流Flow

Compose可以在不导入依赖的情况下使用Flow,用法基本与kotlin相同。这里不做赘述。


总结,Compose经常使用的扩展库大抵如此,后续有变则再新增进来。

你可能感兴趣的:(android,jetpack,android-jetpack,android,kotlin)