├── ListView.md ├── Logcat类.md ├── README.md ├── RecyclerView类.md ├── Toast类.md ├── 二维码类.md ├── 加载动画.md ├── 动画类.md ├── 卡片式交互.md ├── 压缩算法.md ├── 指示器类.md ├── 换肤框架.md ├── 权限管理.md ├── 精美UI类.md ├── 贝塞尔曲线.md └── 阅读类.md /ListView.md: -------------------------------------------------------------------------------- 1 | 2 | ## 酷炫的自定义控件 3 | 4 | ### 自定义ListView类 5 | 6 | 1. StickyHeaderListView 7 | 8 | * 功能强大的StickyHeaderListView:标题渐变、吸附悬停、筛选分类、动态头部等 9 | * [https://github.com/sfsheng0322/StickyHeaderListView](https://github.com/sfsheng0322/StickyHeaderListView) 10 | * ![](https://github.com/sfsheng0322/StickyHeaderListView/raw/master/screenshots/StickyHeaderListView2.png) -------------------------------------------------------------------------------- /Logcat类.md: -------------------------------------------------------------------------------- 1 | ## Log日志类 2 | 3 | 1. logger 4 | 5 | * 狂拽酷炫吊炸天的日志打印 6 | * [https://github.com/orhanobut/logger](https://github.com/orhanobut/logger) 7 | * ![](https://github.com/orhanobut/logger/raw/master/images/description.png) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 源码收集 2 | -------------------------------------------------------------------------------- /RecyclerView类.md: -------------------------------------------------------------------------------- 1 | ## RecycleView类 2 | 3 | 1. ExpandableRecyclerview 4 | 5 | * 可张开的RecyclerView 6 | * [https://github.com/zaihuishou/ExpandableRecyclerview](https://github.com/zaihuishou/ExpandableRecyclerview) 7 | * ![](https://github.com/zaihuishou/ExpandableRecyclerview/raw/master/sample-screen.gif) 8 | 9 | 2. recyclerview-animators 10 | 11 | * RecyclerView动画库 12 | * [https://github.com/wasabeef/recyclerview-animators](https://github.com/wasabeef/recyclerview-animators) 13 | * ![](https://github.com/wasabeef/recyclerview-animators/raw/master/art/demo3.gif)![](https://github.com/wasabeef/recyclerview-animators/raw/master/art/demo5.gif)![](https://github.com/wasabeef/recyclerview-animators/raw/master/art/demo.gif) -------------------------------------------------------------------------------- /Toast类.md: -------------------------------------------------------------------------------- 1 | ## Toast类 2 | 3 | 1. TastyToast 4 | 5 | * 使原生的Toast更好看 6 | * [https://github.com/yadav-rahul/TastyToast](https://github.com/yadav-rahul/TastyToast) 7 | * ![](https://github.com/yadav-rahul/TastyToast/raw/lib/static/success.gif) -------------------------------------------------------------------------------- /二维码类.md: -------------------------------------------------------------------------------- 1 | ## 屌的一逼的工具 2 | 3 | ### 二维码 4 | 5 | 1. android-zxingLibrary 6 | 7 | * 可打开默认二维码扫描页面,支持对图片Bitmap的扫描功能,支持对UI的定制化操作,支持对条形码的扫描功能,支持生成二维码操作 8 | * [https://github.com/yipianfengye/android-zxingLibrary](https://github.com/yipianfengye/android-zxingLibrary) 9 | * ![](https://github.com/yipianfengye/android-zxingLibrary/raw/master/images/ezgif.com-video-to-gif%20(2)%2015.33.08.gif) -------------------------------------------------------------------------------- /加载动画.md: -------------------------------------------------------------------------------- 1 | ## 酷炫的自定义控件 2 | 3 | ### 加载动画类 4 | 5 | 1. Android-SpinKit 6 | 7 | * [https://github.com/ybq/Android-SpinKit](https://github.com/ybq/Android-SpinKit) 8 | * ![](https://raw.githubusercontent.com/ybq/AndroidSpinKit/master/art/screen.gif)![](https://raw.githubusercontent.com/ybq/AndroidSpinKit/master/art/screen2.gif) 9 | 10 | 2. LoadingDrawable 11 | 12 | * 以与任何View配合使用,作为加载动画或者Progressbar, 此外很适合与RecyclerRefreshLayout 配合使用作为刷新的loading 动画。 13 | * [https://github.com/dinuscxj/LoadingDrawable](https://github.com/dinuscxj/LoadingDrawable) 14 | * ![](https://raw.githubusercontent.com/dinuscxj/LoadingDrawable/master/Preview/ShapeChangeDrawable.gif)![](https://raw.githubusercontent.com/dinuscxj/LoadingDrawable/master/Preview/GoodsDrawable.gif)![](https://raw.githubusercontent.com/dinuscxj/LoadingDrawable/master/Preview/AnimalDrawable.gif)![](https://raw.githubusercontent.com/dinuscxj/LoadingDrawable/master/Preview/CircleJumpDrawable.gif)![](https://raw.githubusercontent.com/dinuscxj/LoadingDrawable/master/Preview/CircleRotateDrawable.gif) 15 | 16 | 3. LiquidButton 17 | 18 | * 一个实现液体填充效果的加载提示view 19 | * [https://github.com/yoruriko/LiquidButton](https://github.com/yoruriko/LiquidButton) 20 | * ![](https://github.com/yoruriko/LiquidButton/raw/master/demo.gif) 21 | 22 | 4. LoadingView 23 | 24 | * 简单的带有动画效果的加载控件 25 | * [https://github.com/ldoublem/LoadingView](https://github.com/ldoublem/LoadingView) 26 | * ![](https://github.com/ldoublem/LoadingView/raw/master/screen/%E6%95%88%E6%9E%9C.gif) 27 | 28 | 5. MetaballLoading 29 | 30 | * 一个有贝塞尔曲线动画的加载提示框 31 | * [https://github.com/dodola/MetaballLoading](https://github.com/dodola/MetaballLoading) 32 | * ![](https://github.com/dodola/MetaballLoading/raw/master/metaball2.gif) 33 | 34 | 6. material-dialogs 35 | 36 | * material风格的dialog 37 | * [https://github.com/afollestad/material-dialogs](https://github.com/afollestad/material-dialogs) 38 | * ![](https://raw.githubusercontent.com/afollestad/material-dialogs/master/art/mddemoshowcase.png) 39 | 40 | 7. sweet-alert-dialog 41 | 42 | * [https://github.com/pedant/sweet-alert-dialog%5D](https://github.com/pedant/sweet-alert-dialog) 43 | * ![](https://github.com/pedant/sweet-alert-dialog/raw/master/change_type.gif) -------------------------------------------------------------------------------- /动画类.md: -------------------------------------------------------------------------------- 1 | ## 酷炫动画 2 | 3 | ### 页面切换动画 4 | 5 | 1. Material-Animations 6 | 7 | * 从一个Activity过渡到另一个Activity布局的内容。 8 | * activity范围内的变化。 9 | * 地址:[https://github.com/lgvalle/Material-Animations](https://github.com/lgvalle/Material-Animations) 10 | * ![](https://raw.githubusercontent.com/lgvalle/Material-Animations/master/screenshots/transition_explode.gif)![](https://raw.githubusercontent.com/lgvalle/Material-Animations/master/screenshots/transition_slide.gif)![](https://raw.githubusercontent.com/lgvalle/Material-Animations/master/screenshots/shared_element_anim.gif)![](https://raw.githubusercontent.com/lgvalle/Material-Animations/master/screenshots/reveal_blue.gif) -------------------------------------------------------------------------------- /卡片式交互.md: -------------------------------------------------------------------------------- 1 | ## 酷炫的自定义控件 2 | 3 | ### 卡片交互类 4 | 5 | 1. CardStackView 6 | 7 | * 地址:[https://github.com/loopeer/CardStackView](https://github.com/loopeer/CardStackView) 8 | * ![](https://github.com/loopeer/CardStackView/raw/master/screenshot/screenshot1.gif)![](https://github.com/loopeer/CardStackView/raw/master/screenshot/screenshot2.gif)![](https://github.com/loopeer/CardStackView/raw/master/screenshot/screenshot3.gif) 9 | 10 | 2. android-card-slide-panel 11 | 12 | * 仿探探 13 | * [https://github.com/xmuSistone/android-card-slide-panel](https://github.com/xmuSistone/android-card-slide-panel) 14 | * ![](https://github.com/xmuSistone/android-card-slide-panel/raw/master/capture03.gif) 15 | 16 | 3. ExpandingPager 17 | 18 | * [https://github.com/qs-lll/ExpandingPager](https://github.com/qs-lll/ExpandingPager) 19 | * ![](https://github.com/qs-lll/ExpandingPager/raw/master/img/ExpandingPager.gif) -------------------------------------------------------------------------------- /压缩算法.md: -------------------------------------------------------------------------------- 1 | ## 压缩算法类 2 | 3 | ### 图片压缩 4 | 5 | 1. Luban(鲁班) 6 | 7 | * Android图片压缩工具,仿微信朋友圈压缩策略 8 | * [https://github.com/Curzibn/Luban](https://github.com/Curzibn/Luban) 9 | * ![](http://stormzhang.com/image/pic_zip.png) -------------------------------------------------------------------------------- /指示器类.md: -------------------------------------------------------------------------------- 1 | ## 酷炫的自定义控件 2 | 3 | ### 指示器类 4 | 5 | 1. StepView 6 | 7 | * [https://github.com/baoyachi/StepView](https://github.com/baoyachi/StepView) 8 | * ![](https://github.com/baoyachi/StepView/raw/master/art/snapshot.png)![](https://github.com/baoyachi/StepView/raw/master/art/splash.png)![](https://github.com/baoyachi/StepView/raw/master/art/vertical_stepview.gif) 9 | 10 | 2. stepper-indicator 11 | 12 | * [https://github.com/badoualy/stepper-indicator](https://github.com/badoualy/stepper-indicator) 13 | * ![](https://github.com/badoualy/stepper-indicator/raw/master/ART/screen.gif) 14 | 15 | 3. SpringIndicator 16 | 17 | * [https://github.com/chenupt/SpringIndicator](https://github.com/chenupt/SpringIndicator) 18 | * ![](https://raw.githubusercontent.com/chenupt/SpringIndicator/master/img/si_1.0.0.gif) -------------------------------------------------------------------------------- /换肤框架.md: -------------------------------------------------------------------------------- 1 | ## 屌的一逼的工具 2 | 3 | ### 换肤框架 4 | 5 | 1. StyleDemo 6 | 7 | * 通过配置的形式,实现webView的夜间模式,支持过渡动画 8 | * 使用Blog:[http://blog.csdn.net/qq_22706515/article/details/51980573](http://blog.csdn.net/qq_22706515/article/details/51980573) 9 | * [https://github.com/zhuguohui/StyleDemo](https://github.com/zhuguohui/StyleDemo) 10 | * ![](https://github.com/zhuguohui/StyleDemo/blob/master/gif/show.gif) -------------------------------------------------------------------------------- /权限管理.md: -------------------------------------------------------------------------------- 1 | ## 权限管理 2 | 3 | 1. PermissionsDispatcher 4 | 5 | 1. 地址:[https://github.com/hotchemi/PermissionsDispatcher](https://github.com/hotchemi/PermissionsDispatcher) 6 | 7 | 2. 配置: 8 | 9 | 跟ButterKnife和Dagger2一样,配置方法很简单,在项目的build.gradle文件中加上: 10 | 11 | buildscript { 12 | dependencies { 13 | classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 14 | } 15 | } 16 | 17 | 在module中的build.gradle加上: 18 | 19 | apply plugin: 'android-apt' 20 | 21 | dependencies { 22 | compile 'com.github.hotchemi:permissionsdispatcher:2.1.3' 23 | apt 'com.github.hotchemi:permissionsdispatcher-processor:2.1.3' 24 | } 25 | 26 | 3. 使用: 27 | 28 | @RuntimePermissions 29 | public class PermissionsDispatcherActivity extends AppCompatActivity implements View.OnClickListener { 30 | 31 | @Override 32 | protected void onCreate(@Nullable Bundle savedInstanceState) { 33 | super.onCreate(savedInstanceState); 34 | setContentView(R.layout.activity_normal); 35 | 36 | setTitle("PermissionsDispatcher"); 37 | 38 | findViewById(R.id.btn_camera).setOnClickListener(this); 39 | findViewById(R.id.btn_call).setOnClickListener(this); 40 | } 41 | 42 | @Override 43 | public void onClick(View v) { 44 | switch (v.getId()) { 45 | case R.id.btn_call: 46 | PermissionsDispatcherActivityPermissionsDispatcher.startCallWithCheck(this); 47 | break; 48 | case R.id.btn_camera: 49 | PermissionsDispatcherActivityPermissionsDispatcher.startCameraWithCheck(this); 50 | break; 51 | } 52 | } 53 | 54 | @NeedsPermission(Manifest.permission.CAMERA) 55 | void startCamera() { 56 | Intent intent = new Intent(); //调用照相机 57 | intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE); 58 | startActivity(intent); 59 | } 60 | 61 | @NeedsPermission(Manifest.permission.CALL_PHONE) 62 | void startCall(){ 63 | Intent intent = new Intent(Intent.ACTION_CALL); 64 | Uri data = Uri.parse("tel:10086"); 65 | intent.setData(data); 66 | startActivity(intent); 67 | } 68 | } 69 | 70 | * 首先@RuntimePermissions注解需要进行权限判断的类 71 | 72 | * 将需要权限的操作定义在一个方法里,并用 @NeedsPermission(Manifest.permission.CAMERA)表明需要的权限(可以是多个) 73 | 74 | * Make编译一下,就会生成【当前类名+PermissionsDispatcher】的类,在原本调用的地方调用@NeedsPermission标记的方法,这时候你会发现会对应生成【方法名+WithCheck】的方法 75 | 76 | * 如果你需要监听拒绝后的操作,则使用@OnPermissionDenied,使用方法一样 -------------------------------------------------------------------------------- /精美UI类.md: -------------------------------------------------------------------------------- 1 | ## 精美UI大集合 2 | 3 | ### 登录类 4 | 5 | 1. MaterialLogin 6 | 7 | * 好看优雅极致的材料设计的登录注册页面 8 | * [https://github.com/fanrunqi/MaterialLogin](https://github.com/fanrunqi/MaterialLogin) 9 | * ![](https://raw.githubusercontent.com/fanrunqi/MaterialLogin/master/screenshots/a.gif) 10 | 11 | 12 | ### 其它效果 13 | 14 | 2. ThumbUp 15 | 16 | * 点赞还可以这么玩 17 | * [https://github.com/ldoublem/ThumbUp](https://github.com/ldoublem/ThumbUp) 18 | * ![](https://github.com/ldoublem/ThumbUp/raw/master/screenShot/shot.gif) -------------------------------------------------------------------------------- /贝塞尔曲线.md: -------------------------------------------------------------------------------- 1 | ## 酷炫的自定义控件 2 | 3 | ### 贝塞尔曲线 4 | 5 | 1. BezierMaker 6 | 7 | * [https://github.com/venshine/BezierMaker](https://github.com/venshine/BezierMaker) 8 | * ![](https://github.com/venshine/BezierMaker/raw/master/screenshot/1.gif) 9 | 10 | 2. Bubble-Notification 11 | 12 | * 一个模仿qq未读消息小红点拖动消失效果的控件 13 | * [https://github.com/dkmeteor/Bubble-Notification](https://github.com/dkmeteor/Bubble-Notification) 14 | * ![](https://github.com/dkmeteor/Bubble-Notification/raw/master/gif/list_demo1.gif) 15 | 16 | 3. DraggableFlagView 17 | 18 | * [https://github.com/wangjiegulu/DraggableFlagView](https://github.com/wangjiegulu/DraggableFlagView) 19 | * ![](https://raw.githubusercontent.com/wangjiegulu/DraggableFlagView/master/screenshot/draggableflagview.gif) -------------------------------------------------------------------------------- /阅读类.md: -------------------------------------------------------------------------------- 1 | ## 酷炫的自定义控件 2 | 3 | ### 阅读器类 4 | 1. AndroidPdfViewer 5 | 6 | * PDF阅读器 7 | 8 | * 地址:[https://github.com/barteksc/AndroidPdfViewer](https://github.com/barteksc/AndroidPdfViewer) 9 | 10 | 2. RichText 11 | 12 | * 富文本解析器,支持HTML和Markdown 13 | * 地址:[https://github.com/zzhoujay/RichText](https://github.com/zzhoujay/RichText) 14 | * ![](https://github.com/zzhoujay/RichText/raw/master/image/image.jpg) 15 | 16 | 3. MarkdownView-Android 17 | 18 | * 加载markdown 19 | * 地址:[https://github.com/mukeshsolanki/MarkdownView-Android](https://github.com/mukeshsolanki/MarkdownView-Android) 20 | * ![](https://raw.githubusercontent.com/mukeshsolanki/MarkdownView-Android/master/Screenshots/demo.gif) 21 | 22 | 4. GuideView 23 | 24 | * 遮罩式的导航页,为任何一个View创建一个遮罩层,支持单个页面,多个引导提示,支持为高亮区域设置不同的图形,支持引导动画,方便扩展。 25 | * 地址:[https://github.com/mukeshsolanki/MarkdownView-Android](https://github.com/mukeshsolanki/MarkdownView-Android) 26 | * ![](https://github.com/binIoter/GuideView/raw/master/app/src/main/res/assets/review.gif) 27 | 28 | 5. ShowcaseView 29 | 30 | * 过局部高亮达到突出重点,实现引导效果的控件 31 | * 地址:[https://github.com/amlcurran/ShowcaseView](https://github.com/amlcurran/ShowcaseView) 32 | * ![](https://github.com/amlcurran/ShowcaseView/raw/master/material.png) 33 | 34 | 6. CodeView 35 | 36 | * 代码显示控件 37 | * 地址:[https://github.com/Thereisnospon/CodeView](https://github.com/Thereisnospon/CodeView) 38 | * ![](https://camo.githubusercontent.com/e5410526007ee83dec13677be967a20dde52c113/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313630363231313835333236353132) --------------------------------------------------------------------------------