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:<version>"
    // If using insets-ui
    implementation "com.google.accompanist:accompanist-insets-ui:<version>"
}

System UI Controller

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

配置方式:

repositories {
    mavenCentral()
}

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

AppCompat Theme Adapter

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

配置方式:

repositories {
    mavenCentral()
}

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

Pager

作用:类似 Android 里面的 ViewPager

配置方式:

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-pager:<version>"

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

Permissions

作用:Compose中的权限请求

配置方式:

repositories {
    mavenCentral()
}

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

Placeholder

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

配置方式:

repositories {
    mavenCentral()
}

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

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

Flow Layouts

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

配置方式:

repositories {
    mavenCentral()
}

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

Navigation-Animation

作用:作用于导航的动画

配置方式:

repositories {
    mavenCentral()
}

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

Navigation-Material

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

配置方式:

repositories {
    mavenCentral()
}

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

Drawable Painter

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

配置方式:

repositories {
    mavenCentral()
}

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

Swipe to Refresh

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

配置方式:

repositories {
    mavenCentral()
}

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

WebView

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

配置方式:

repositories { 
    mavenCentral() 
}

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

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经常使用的扩展库大抵如此,后续有变则再新增进来。

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值