Android 好用的自定义组件、框架
2019-11-16 本文已影响0人
koinzhang
记一些项目中遇到的自定义组件或框架
条目格式如下:
框架/组件 //框架或组件的Github地址,可以点击查看
项目简介: //框架或组件的简介
项目参考Blog: //框架或组件可以参考如何使用的Blog
**项目使用** //配置或添加框架、组件依赖
implementation 'xx.xxx:xxx:x.x.x'
框架
-
MVP框架 MVPArms
项目简介:MVPArms 是一个整合了大量主流开源项目的 Android MVP 快速搭建框架, 其中包含 Dagger2、Retrofit、RxJava 以及 RxLifecycle、RxCache 等 Rx 系三方库, 并且提供 UI 自适应方案, 本框架将它们结合起来, 并全部使用 Dagger2 管理并提供给开发者使用, 使用本框架开发您的项目, 就意味着您已经拥有一个 MVP + Dagger2 + Retrofit + RxJava 项目
项目参考Blog:MVPArms MVP快速集成框架
项目使用
implementation 'me.jessyan:arms:2.5.2'
---------------------- 以下是扩展库 ----------------------
//想使用 Glide 请依赖 arms-imageloader-glide 扩展库, 使用方式请看 #4.1
implementation 'me.jessyan:arms-imageloader-glide:2.5.2'
//想使用 AndroidAutoLayout 请依赖 arms-autolayout 扩展库, 使用方式请查看 #4.2
implementation 'me.jessyan:arms-autolayout:2.5.2'
-
greenDAO
项目简介:greenDAO是一款开源的面向 Android 的轻便、快捷的 ORM 框架,将 Java 对象映射到SQLite数据库中
项目参考Blog:一篇技术好文之Android数据库 GreenDao的使用完全解析
项目使用
//导入插件
// 在 Project的build.gradle 文件中添加:
buildscript {
repositories {
jcenter()
mavenCentral() // add repository
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
}
}
//配置相关依赖
// 在 Moudle:app的 build.gradle 文件中添加:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // apply plugin
dependencies {
implementation 'org.greenrobot:greendao:3.2.2' // add library
}
//配置数据库相关信息
greendao {
schemaVersion 1 //数据库版本号
daoPackage 'com.aserbao.aserbaosandroid.functions.database.greenDao.db'
// 设置DaoMaster、DaoSession、Dao 包名
targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录,请注意,这里路径用/不要用.
generateTests false //设置为true以自动生成单元测试。
targetGenDirTests 'src/main/java' //应存储生成的单元测试的基本目录。默认为 src / androidTest / java。
}
-
ButterKnife
项目简介:Field and method binding for Android views
项目参考Blog:1.Android Butterknife(黄油刀) 使用方法总结 2.ButterKnife的使用
项目使用
//使用android support库请依赖8.81版本
impelementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
//使用androidx库请依赖10.0.0版本
impelementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
File -> Settings -> Plugins -> 搜索ButterKnife,找到Android ButterKnife Zeleany进行安装重启AndroidStudio
-
BaseRecyclerViewAdapterHelper
项目简介:BRVAH:Powerful and flexible RecyclerAdapter
项目参考Blog:BRVAH官网
项目使用
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.47'
-
gson
项目简介:A Java serialization/deserialization library to convert Java Objects into JSON and back
项目参考Blog:GSON
项目使用:
implementation 'com.google.code.gson:gson:2.8.5'
-
Glide
项目简介:An image loading and caching library for Android focused on smooth scrolling
项目参考Blog:Glide使用总结
项目使用
implementation 'com.github.bumptech.glide:glide:4.5.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
-
picasso
项目简介:A powerful image downloading and caching library for Android
项目参考Blog:图片加载框架-Picasso最详细的使用指南
项目使用
implementation 'com.squareup.picasso:picasso:2.5.2'
-
vlayout
项目简介:Project vlayout is a powerfull LayoutManager extension for RecyclerView, it provides a group of layouts for RecyclerView. Make it able to handle a complicate situation when grid, list and other layouts in the same recyclerview.
项目参考Blog:vlayout--让你的多布局不再头疼
项目使用
implementation ('com.alibaba.android:vlayout:1.2.8@aar') {
transitive = true
}
组件
-
RoundedImageView
项目简介:A fast ImageView that supports rounded corners, ovals, and circles.
项目参考Blog:Android 第三方RoundedImageView设置各种圆形、方形头像
项目使用
implementation 'com.makeramen:roundedimageview:2.3.0'
-
PictureSelector
项目简介:Picture Selector Library for Android or 多图片选择器
项目参考Blog:Android 选择图片、上传图片之PictureSelector
项目使用
implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.4.6'
-
CardSwipeLayout
项目简介:Use RecyclerView to achieve card swipe layout , like Tantan . (模仿探探卡片滑动效果的布局)
项目参考Blog:CardSwipeLayout
项目使用
implementation 'me.yuqirong:cardswipelayout:1.0.0'
-
ViewPagerIndicator
项目简介:一个简单好用的ViewPagerIndicator,提供了六种类型,为viewpager添加酷炫效果,并且支持轮播图( A simple, cool, customizable ViewPagerIndicator.show cool indicator for viewpager , it also good for viewpager as carousel )
项目参考Blog:ViewPagerIndicator中文文档
项目使用
//androidx
implementation 'com.github.LinweiJ:ViewPagerIndicator:0.3.0'
//android support
implementation 'com.github.LinweiJ:ViewPagerIndicator:0.2.0'
-
BadgeView
项目简介:支持自由定制外观、拖拽消除的MaterialDesign风格Android BadgeView
项目参考Blog:android实现小圆点显示未读功能
项目使用
implementation 'q.rorbin:badgeview:1.1.3'
-
BaseDialog
项目简介:Android BaseDialog(开发必备)动画、加载进度、阴影、上下左右中 进入
项目参考Blog:Android BaseDialog(开发必备)动画、加载进度、阴影
项目使用
implementation 'com.github.AnJiaoDe:BaseDialog:V1.1.8'
-
Android-PickerView
项目简介:This is a picker view for android , support linkage effect, timepicker and optionspicker.(时间选择器、省市区三级联动)
项目参考Blog:PickerView--仿ios滚轮时间选择、城市选择效果
项目使用
implementation 'com.contrarywind:Android-PickerView:4.1.9'
-
PhotoView
项目简介:Implementation of ImageView for Android that supports zooming, by various touch gestures.
项目参考Blog:Android UI Libs之PhotoView
项目使用
implementation 'com.github.chrisbanes:PhotoView:latest.release.here'
-
NumberProgressBar
项目简介:A beautiful, slim Android ProgressBar.
项目参考Blog:Android UI Libs之NumberProgressBar
项目使用
implementation 'com.daimajia.numberprogressbar:library:1.4@aar'
-
NineOldAndroids
项目简介:[DEPRECATED] Android library for using the Honeycomb animation API on all versions of the platform back to 1.0!
项目参考Blog:Android动画进阶—使用开源动画库nineoldandroids
项目使用
implementation 'com.nineoldandroids:library:2.4.0'
-
Paginate
项目简介:Android library for creating simple pagination functionality (aka infinite scrolling) upon RecyclerView or AbsListView.
项目参考Blog:Paginate
项目使用
implementation 'com.github.markomilos:paginate:0.5.1'
-
timber
项目简介:A logger with a small, extensible API which provides utility on top of Android's normal Log class.
项目参考Blog:1.Timber: Android日志记录 2.Android 日志记录杂谈-Logger,Timber,logback-android
项目使用
implementation 'com.jakewharton.timber:timber:4.5.1'
-
logger
项目简介:Simple, pretty and powerful logger for android
项目参考Blog:Android 日志记录杂谈-Logger,Timber,logback-android
项目使用
implementation 'com.orhanobut:logger:2.2.0'
-
AndroidEventBus
项目简介:[DEPRECATED] A lightweight eventbus library for android, simplifies communication between Activities, Fragments, Threads, Services, etc.
项目参考Blog:AndroidEventBus(事件总线)了解+实战体验
项目使用
implementation 'org.simple:androideventbus:1.0.5.1'
-
EventBus
项目简介:Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.
项目参考Blog:Android EventBus 的使用
项目使用
implementation 'org.greenrobot:eventbus:3.1.1'