嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
横向的SmartRefreshLayout源码
.
└── SmartRefreshLayout
├── LICENSE
├── README.md
├── README_EN.md
├── app
│ ├── build.gradle
│ ├── debug.keystore
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── refreshlayout
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── ic_launcher-web.png
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── refreshlayout
│ │ │ ├── App.java
│ │ │ ├── activity
│ │ │ │ ├── FragmentActivity.java
│ │ │ │ ├── IndexMainActivity.java
│ │ │ │ ├── example
│ │ │ │ │ ├── AssignCodeExampleActivity.java
│ │ │ │ │ ├── AssignDefaultExampleActivity.java
│ │ │ │ │ ├── AssignXmlExampleActivity.java
│ │ │ │ │ ├── BasicExampleActivity.java
│ │ │ │ │ ├── CustomExampleActivity.java
│ │ │ │ │ ├── I18nExampleActivity.java
│ │ │ │ │ ├── ListenerExampleActivity.java
│ │ │ │ │ ├── NestedLayoutExampleActivity.java
│ │ │ │ │ ├── OverScrollExampleActivity.java
│ │ │ │ │ └── SnapHelperExampleActivity.java
│ │ │ │ ├── practice
│ │ │ │ │ ├── BannerPracticeActivity.java
│ │ │ │ │ ├── FeedListPracticeActivity.java
│ │ │ │ │ ├── ProfilePracticeActivity.java
│ │ │ │ │ ├── QQBrowserPracticeActivity.java
│ │ │ │ │ ├── RepastPracticeActivity.java
│ │ │ │ │ ├── WebViewPracticeActivity.java
│ │ │ │ │ └── WeiboPracticeActivity.java
│ │ │ │ └── style
│ │ │ │ ├── BezierCircleStyleActivity.java
│ │ │ │ ├── BezierRadarStyleActivity.java
│ │ │ │ ├── ClassicsStyleActivity.java
│ │ │ │ ├── DeliveryStyleActivity.java
│ │ │ │ ├── DropBoxStyleActivity.java
│ │ │ │ ├── FlyRefreshStyleActivity.java
│ │ │ │ ├── FunGameBattleCityStyleActivity.java
│ │ │ │ ├── FunGameHitBlockStyleActivity.java
│ │ │ │ ├── MaterialStyleActivity.java
│ │ │ │ ├── PhoenixStyleActivity.java
│ │ │ │ ├── StoreHouseStyleActivity.java
│ │ │ │ ├── TaurusStyleActivity.java
│ │ │ │ ├── WaterDropStyleActivity.java
│ │ │ │ └── WaveSwipeStyleActivity.java
│ │ │ ├── adapter
│ │ │ │ ├── BaseRecyclerAdapter.java
│ │ │ │ └── SmartViewHolder.java
│ │ │ ├── fragment
│ │ │ │ ├── example
│ │ │ │ │ ├── BottomSheetExampleFragment.java
│ │ │ │ │ ├── DisallowInterceptExampleFragment.java
│ │ │ │ │ ├── EmptyLayoutExampleFragment.java
│ │ │ │ │ ├── EmptyLayoutExampleFragmentInner.java
│ │ │ │ │ ├── EmptyLayoutExampleFragmentOuter.java
│ │ │ │ │ ├── FlexBoxLayoutManagerFragment.java
│ │ │ │ │ ├── HorizontalExampleFragment.java
│ │ │ │ │ ├── NestedScrollExampleFragment.java
│ │ │ │ │ ├── NestedScrollExampleFragmentIntegral.java
│ │ │ │ │ ├── NestedScrollExampleFragmentViewPager.java
│ │ │ │ │ ├── NoMoreDataExampleFragment.java
│ │ │ │ │ ├── PureScrollExampleFragment.java
│ │ │ │ │ ├── PureScrollExampleFragmentFooter.java
│ │ │ │ │ ├── PureScrollExampleFragmentHeader.java
│ │ │ │ │ ├── SpecifyStyleExampleFragment.java
│ │ │ │ │ ├── StaggeredGridExampleFragment.java
│ │ │ │ │ ├── ThreeLevelExampleFragment.java
│ │ │ │ │ └── ViewPagerExampleFragment.java
│ │ │ │ ├── index
│ │ │ │ │ ├── RefreshExampleFragment.java
│ │ │ │ │ ├── RefreshPracticeFragment.java
│ │ │ │ │ └── RefreshStylesFragment.java
│ │ │ │ └── practice
│ │ │ │ ├── InstantPracticeFragment.java
│ │ │ │ ├── SecondFloorPracticeFragment.java
│ │ │ │ └── TwoLevelPracticeFragment.java
│ │ │ ├── util
│ │ │ │ ├── DynamicTimeFormat.java
│ │ │ │ └── StatusBarUtil.java
│ │ │ └── widget
│ │ │ ├── RefreshContentHorizontal.java
│ │ │ ├── ScrollBoundaryHorizontal.java
│ │ │ └── SmartRefreshHorizontal.java
│ │ └── res
│ │ ├── drawable
│ │ │ ├── animation_loading_frame.xml
│ │ │ ├── animation_loading_rotate.xml
│ │ │ ├── bc_background_panel.xml
│ │ │ ├── button_blue.xml
│ │ │ ├── ic_arrow_back_dark_24dp.xml
│ │ │ ├── ic_arrow_back_gray_24dp.xml
│ │ │ ├── ic_arrow_back_white_24dp.xml
│ │ │ ├── ic_chevron_right.xml
│ │ │ ├── ic_chevron_right_gray.xml
│ │ │ ├── ic_empty.xml
│ │ │ ├── ic_error.xml
│ │ │ ├── ic_feed_list_favorite.xml
│ │ │ ├── ic_feed_list_mail.xml
│ │ │ ├── ic_feed_list_photo.xml
│ │ │ ├── ic_fly_refresh_folder.xml
│ │ │ ├── ic_fly_refresh_info.xml
│ │ │ ├── ic_fly_refresh_phone.xml
│ │ │ ├── ic_fly_refresh_poll.xml
│ │ │ ├── ic_fly_refresh_send.xml
│ │ │ ├── ic_index_dashboard.xml
│ │ │ ├── ic_index_home.xml
│ │ │ ├── ic_index_notifications.xml
│ │ │ ├── ic_launcher_background.xml
│ │ │ ├── ic_list_divider.xml
│ │ │ ├── ic_progress_puzzle.xml
│ │ │ ├── skin_instantchat_more.xml
│ │ │ ├── skin_messages_left_bubble.xml
│ │ │ └── skin_messages_right_bubble.xml
│ │ ├── layout
│ │ │ ├── activity_example_assign_code.xml
│ │ │ ├── activity_example_assign_default.xml
│ │ │ ├── activity_example_assign_xml.xml
│ │ │ ├── activity_example_basic.xml
│ │ │ ├── activity_example_custom.xml
│ │ │ ├── activity_example_i18n.xml
│ │ │ ├── activity_example_listener.xml
│ │ │ ├── activity_example_overscroll.xml
│ │ │ ├── activity_example_region.xml
│ │ │ ├── activity_example_snaphelper.xml
│ │ │ ├── activity_experiment.xml
│ │ │ ├── activity_fly_refresh.xml
│ │ │ ├── activity_fly_refresh_item.xml
│ │ │ ├── activity_index_main.xml
│ │ │ ├── activity_practice_banner.xml
│ │ │ ├── activity_practice_feedlist.xml
│ │ │ ├── activity_practice_profile.xml
│ │ │ ├── activity_practice_qqbrowser.xml
│ │ │ ├── activity_practice_repast.xml
│ │ │ ├── activity_practice_webview.xml
│ │ │ ├── activity_practice_weibo.xml
│ │ │ ├── activity_style_bezier.xml
│ │ │ ├── activity_style_circle.xml
│ │ │ ├── activity_style_classics.xml
│ │ │ ├── activity_style_delivery.xml
│ │ │ ├── activity_style_dropbox.xml
│ │ │ ├── activity_style_fungame_battlecity.xml
│ │ │ ├── activity_style_fungame_hitblock.xml
│ │ │ ├── activity_style_material.xml
│ │ │ ├── activity_style_phoenix.xml
│ │ │ ├── activity_style_storehouse.xml
│ │ │ ├── activity_style_taurus.xml
│ │ │ ├── activity_style_water_drop.xml
│ │ │ ├── activity_style_wave_swipe.xml
│ │ │ ├── common_independence_recycler.xml
│ │ │ ├── common_loading.xml
│ │ │ ├── fragment_example_bottom_sheet.xml
│ │ │ ├── fragment_example_disallow_intercept.xml
│ │ │ ├── fragment_example_emptylayout.xml
│ │ │ ├── fragment_example_emptylayout_inner.xml
│ │ │ ├── fragment_example_emptylayout_outer.xml
│ │ │ ├── fragment_example_horizontal.xml
│ │ │ ├── fragment_example_nestedscroll.xml
│ │ │ ├── fragment_example_nestedscroll_integral.xml
│ │ │ ├── fragment_example_nestedscroll_view_pager.xml
│ │ │ ├── fragment_example_purescroll.xml
│ │ │ ├── fragment_example_purescroll_header.xml
│ │ │ ├── fragment_example_staggered_grid.xml
│ │ │ ├── fragment_example_three_level.xml
│ │ │ ├── fragment_example_viewpager.xml
│ │ │ ├── fragment_flexbox_layout_manager.xml
│ │ │ ├── fragment_no_more_data_example.xml
│ │ │ ├── fragment_practice_instant.xml
│ │ │ ├── fragment_practice_second_floor.xml
│ │ │ ├── fragment_practice_twolevel.xml
│ │ │ ├── fragment_refresh_example.xml
│ │ │ ├── fragment_refresh_practive.xml
│ │ │ ├── fragment_refresh_styles.xml
│ │ │ ├── item_example_snap_helper.xml
│ │ │ ├── item_movie_banner.xml
│ │ │ ├── item_movie_header.xml
│ │ │ ├── item_movie_item.xml
│ │ │ ├── item_practice_instant.xml
│ │ │ ├── item_practice_repast.xml
│ │ │ └── item_style_delivery.xml
│ │ ├── menu
│ │ │ └── navigation.xml
│ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ │ ├── gif_header_repast.gif
│ │ │ ├── ic_item1.jpg
│ │ │ ├── ic_item2.jpg
│ │ │ ├── ic_item3.jpg
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_foreground.png
│ │ │ ├── ic_launcher_round.png
│ │ │ ├── image_avatar_1.jpg
│ │ │ ├── image_avatar_2.jpg
│ │ │ ├── image_avatar_3.jpg
│ │ │ ├── image_avatar_4.jpg
│ │ │ ├── image_avatar_5.jpg
│ │ │ ├── image_avatar_6.jpg
│ │ │ ├── image_movie_header_12231501221682438.jpg
│ │ │ ├── image_movie_header_12981501221820220.jpg
│ │ │ ├── image_movie_header_48621499931969370.jpg
│ │ │ ├── image_practice_repast_1.jpg
│ │ │ ├── image_practice_repast_2.jpg
│ │ │ ├── image_practice_repast_3.jpg
│ │ │ ├── image_practice_repast_4.jpg
│ │ │ ├── image_practice_repast_5.jpg
│ │ │ ├── image_practice_repast_6.jpg
│ │ │ ├── skin_aio_more_normal.png
│ │ │ ├── skin_aio_more_pressed.png
│ │ │ ├── skin_common_btn_blue_disabled.9.png
│ │ │ ├── skin_messages_left_bubble.9.png
│ │ │ ├── skin_messages_left_bubble_highlighted.9.png
│ │ │ ├── skin_messages_right_bubble.9.png
│ │ │ └── skin_messages_right_bubble_highlighted.9.png
│ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_foreground.png
│ │ │ ├── ic_launcher_round.png
│ │ │ ├── image_second_floor.jpg
│ │ │ ├── image_second_floor_content.jpg
│ │ │ ├── image_taobao.jpg
│ │ │ ├── image_weibo_home_1.png
│ │ │ └── image_weibo_home_2.png
│ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_foreground.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_foreground.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_foreground.png
│ │ │ └── ic_launcher_round.png
│ │ ├── values
│ │ │ ├── arrays.xml
│ │ │ ├── attrs.xml
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ ├── strings_srl.xml
│ │ │ └── styles.xml
│ │ ├── values-v19
│ │ │ └── styles.xml
│ │ ├── values-v21
│ │ │ └── styles.xml
│ │ └── values-zh
│ │ ├── arrays.xml
│ │ ├── strings.xml
│ │ └── strings_srl.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── refreshlayout
│ └── ExampleUnitTest.java
├── art
│ ├── UMLRefreshLayout.classdiagram
│ ├── app-debug.apk
│ ├── dex-method-counts.jar
│ ├── gif_BattleCity.gif
│ ├── gif_BattleCity_1.gif
│ ├── gif_BezierCircle.gif
│ ├── gif_BezierRadar.gif
│ ├── gif_Classics.gif
│ ├── gif_Delivery.gif
│ ├── gif_Dropbox.gif
│ ├── gif_FlyRefresh.gif
│ ├── gif_HitBlock.gif
│ ├── gif_HitBlock_1.gif
│ ├── gif_Material.gif
│ ├── gif_Phoenix.gif
│ ├── gif_StoreHouse.gif
│ ├── gif_Taurus.gif
│ ├── gif_WaterDrop.gif
│ ├── gif_WaveSwipe.gif
│ ├── gif_demo_multitouch_1.gif
│ ├── gif_demo_multitouch_2.gif
│ ├── gif_practive_feedlist.gif
│ ├── gif_practive_feedlist_1.gif
│ ├── gif_practive_profile.gif
│ ├── gif_practive_profile_1.gif
│ ├── gif_practive_repast.gif
│ ├── gif_practive_repast_1.gif
│ ├── gif_practive_smart.gif
│ ├── gif_practive_weibo.gif
│ ├── gif_practive_weibo_1.gif
│ ├── gif_preview_textheader.gif
│ ├── jpg_preview_gifheader.jpg
│ ├── jpg_preview_textheader.jpg
│ ├── jpg_preview_xml_define.jpg
│ ├── jpg_uml.jpg
│ ├── md_custom.md
│ ├── md_donationlist.md
│ ├── md_faq.md
│ ├── md_multitouch.md
│ ├── md_property.md
│ ├── md_smart.md
│ ├── md_update.md
│ ├── pay_alipay.jpg
│ ├── pay_alipay_red_packet.png
│ ├── pay_tencent.jpg
│ ├── pay_wxpay.jpg
│ ├── png_apk_rqcode.png
│ ├── png_ptr_elema.png
│ ├── png_ptr_meituan.png
│ └── png_ptr_tianmao.png
├── bintrayUpload.bat
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── method-count-layout.bat
├── method-count-words.bat
├── refresh-drawable-paint
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── drawable
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── drawable
│ │ ├── PaintDrawable.java
│ │ └── ProgressDrawable.java
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── drawable
│ └── ExampleUnitTest.java
├── refresh-drawable-path
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── drawable
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── drawable
│ │ ├── PathsDrawable.java
│ │ ├── path
│ │ │ └── PathParser.java
│ │ └── view
│ │ └── PathsView.java
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── drawable
│ └── ExampleUnitTest.java
├── refresh-footer
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smartrefresh
│ │ └── footer
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ └── res
│ │ └── values
│ │ ├── attrs.xml
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smartrefresh
│ └── footer
│ └── ExampleUnitTest.java
├── refresh-footer-ball
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── refresh
│ │ └── footer
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── smart
│ │ │ └── refresh
│ │ │ └── footer
│ │ │ └── BallPulseFooter.java
│ │ └── res
│ │ └── values
│ │ └── attrs.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── refresh
│ └── footer
│ └── ExampleUnitTest.java
├── refresh-footer-classics
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── refresh
│ │ └── footer
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── smart
│ │ │ └── refresh
│ │ │ ├── classics
│ │ │ │ ├── ArrowDrawable.java
│ │ │ │ └── ClassicsAbstract.java
│ │ │ └── footer
│ │ │ └── ClassicsFooter.java
│ │ └── res
│ │ ├── layout
│ │ │ └── srl_classics_footer.xml
│ │ ├── values
│ │ │ ├── attrs.xml
│ │ │ └── strings.xml
│ │ └── values-zh
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── refresh
│ └── footer
│ └── ExampleUnitTest.java
├── refresh-header
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smartrefresh
│ │ └── header
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ ├── smart
│ │ │ │ └── refresh
│ │ │ │ └── header
│ │ │ │ ├── BezierCircleHeader.java
│ │ │ │ ├── DeliveryHeader.java
│ │ │ │ ├── DropBoxHeader.java
│ │ │ │ ├── FlyRefreshHeader.java
│ │ │ │ ├── FunGameBattleCityHeader.java
│ │ │ │ ├── FunGameHitBlockHeader.java
│ │ │ │ ├── PhoenixHeader.java
│ │ │ │ ├── StoreHouseHeader.java
│ │ │ │ ├── TaurusHeader.java
│ │ │ │ ├── WaterDropHeader.java
│ │ │ │ ├── WaveSwipeHeader.java
│ │ │ │ ├── flyrefresh
│ │ │ │ │ ├── FlyView.java
│ │ │ │ │ └── MountainSceneView.java
│ │ │ │ ├── fungame
│ │ │ │ │ ├── FunGameBase.java
│ │ │ │ │ └── FunGameView.java
│ │ │ │ ├── storehouse
│ │ │ │ │ ├── StoreHouseBarItem.java
│ │ │ │ │ └── StoreHousePath.java
│ │ │ │ ├── waterdrop
│ │ │ │ │ ├── Circle.java
│ │ │ │ │ └── WaterDropView.java
│ │ │ │ └── waveswipe
│ │ │ │ ├── DropBounceInterpolator.java
│ │ │ │ └── WaveView.java
│ │ │ └── smartrefresh
│ │ │ └── header
│ │ │ ├── BezierCircleHeader.java
│ │ │ ├── DeliveryHeader.java
│ │ │ ├── DropBoxHeader.java
│ │ │ ├── FlyRefreshHeader.java
│ │ │ ├── FunGameBattleCityHeader.java
│ │ │ ├── FunGameHitBlockHeader.java
│ │ │ ├── MaterialHeader.java
│ │ │ ├── PhoenixHeader.java
│ │ │ ├── StoreHouseHeader.java
│ │ │ ├── TaurusHeader.java
│ │ │ ├── WaterDropHeader.java
│ │ │ └── WaveSwipeHeader.java
│ │ └── res
│ │ ├── values
│ │ │ ├── attrs.xml
│ │ │ └── strings.xml
│ │ └── values-zh
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smartrefresh
│ └── header
│ └── ExampleUnitTest.java
├── refresh-header-classics
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── refresh
│ │ └── header
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── smart
│ │ │ └── refresh
│ │ │ └── header
│ │ │ └── ClassicsHeader.java
│ │ └── res
│ │ ├── layout
│ │ │ └── srl_classics_header.xml
│ │ ├── values
│ │ │ ├── attrs.xml
│ │ │ └── strings.xml
│ │ └── values-zh
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── refresh
│ └── header
│ └── ExampleUnitTest.java
├── refresh-header-falsify
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── refresh
│ │ └── footer
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── smart
│ │ │ └── refresh
│ │ │ └── header
│ │ │ ├── FalsifyFooter.java
│ │ │ ├── FalsifyHeader.java
│ │ │ └── falsify
│ │ │ └── FalsifyAbstract.java
│ │ └── res
│ │ ├── values
│ │ │ └── strings.xml
│ │ └── values-zh
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── refresh
│ └── header
│ └── ExampleUnitTest.java
├── refresh-header-material
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── refresh
│ │ └── footer
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── smart
│ │ │ └── refresh
│ │ │ └── header
│ │ │ ├── MaterialHeader.java
│ │ │ └── material
│ │ │ ├── CircleImageView.java
│ │ │ └── MaterialProgressDrawable.java
│ │ └── res
│ │ └── values
│ │ └── attrs.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── refresh
│ └── header
│ └── ExampleUnitTest.java
├── refresh-header-radar
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── refresh
│ │ └── footer
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── smart
│ │ │ └── refresh
│ │ │ └── header
│ │ │ └── BezierRadarHeader.java
│ │ └── res
│ │ └── values
│ │ └── attrs.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── refresh
│ └── header
│ └── ExampleUnitTest.java
├── refresh-header-two-level
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── refresh
│ │ └── footer
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── smart
│ │ │ └── refresh
│ │ │ └── header
│ │ │ ├── TwoLevelHeader.java
│ │ │ └── listener
│ │ │ └── OnTwoLevelListener.java
│ │ └── res
│ │ └── values
│ │ └── attrs.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smart
│ └── refresh
│ └── header
│ └── ExampleUnitTest.java
├── refresh-layout
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smartrefresh
│ │ └── layout
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smartrefresh
│ │ └── layout
│ │ ├── SmartRefreshLayout.java
│ │ ├── api
│ │ │ ├── DefaultRefreshFooterCreator.java
│ │ │ ├── DefaultRefreshHeaderCreator.java
│ │ │ ├── DefaultRefreshInitializer.java
│ │ │ ├── OnTwoLevelListener.java
│ │ │ ├── RefreshFooter.java
│ │ │ ├── RefreshHeader.java
│ │ │ ├── RefreshInternal.java
│ │ │ ├── RefreshKernel.java
│ │ │ ├── RefreshLayout.java
│ │ │ └── ScrollBoundaryDecider.java
│ │ ├── constant
│ │ │ ├── RefreshState.java
│ │ │ └── SpinnerStyle.java
│ │ ├── footer
│ │ │ ├── BallPulseFooter.java
│ │ │ ├── ClassicsFooter.java
│ │ │ └── FalsifyFooter.java
│ │ ├── header
│ │ │ ├── BezierRadarHeader.java
│ │ │ ├── ClassicsHeader.java
│ │ │ ├── FalsifyHeader.java
│ │ │ └── TwoLevelHeader.java
│ │ ├── impl
│ │ │ ├── RefreshFooterWrapper.java
│ │ │ ├── RefreshHeaderWrapper.java
│ │ │ └── ScrollBoundaryDeciderAdapter.java
│ │ ├── internal
│ │ │ ├── ArrowDrawable.java
│ │ │ ├── InternalAbstract.java
│ │ │ ├── PaintDrawable.java
│ │ │ └── ProgressDrawable.java
│ │ ├── listener
│ │ │ ├── OnLoadMoreListener.java
│ │ │ ├── OnMultiPurposeListener.java
│ │ │ ├── OnRefreshListener.java
│ │ │ ├── OnRefreshLoadMoreListener.java
│ │ │ ├── OnStateChangedListener.java
│ │ │ └── SimpleMultiPurposeListener.java
│ │ └── util
│ │ └── SmartUtil.java
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smartrefresh
│ └── layout
│ └── ExampleUnitTest.java
├── refresh-layout-kernel
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── com
│ │ └── scwang
│ │ └── smart
│ │ └── refresh
│ │ └── layout
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── scwang
│ │ │ └── smart
│ │ │ └── refresh
│ │ │ └── layout
│ │ │ ├── SmartRefreshLayout.java
│ │ │ ├── api
│ │ │ │ ├── RefreshComponent.java
│ │ │ │ ├── RefreshContent.java
│ │ │ │ ├── RefreshFooter.java
│ │ │ │ ├── RefreshHeader.java
│ │ │ │ ├── RefreshKernel.java
│ │ │ │ └── RefreshLayout.java
│ │ │ ├── constant
│ │ │ │ ├── DimensionStatus.java
│ │ │ │ ├── RefreshState.java
│ │ │ │ └── SpinnerStyle.java
│ │ │ ├── listener
│ │ │ │ ├── CoordinatorLayoutListener.java
│ │ │ │ ├── DefaultRefreshFooterCreator.java
│ │ │ │ ├── DefaultRefreshHeaderCreator.java
│ │ │ │ ├── DefaultRefreshInitializer.java
│ │ │ │ ├── OnLoadMoreListener.java
│ │ │ │ ├── OnMultiListener.java
│ │ │ │ ├── OnRefreshListener.java
│ │ │ │ ├── OnRefreshLoadMoreListener.java
│ │ │ │ ├── OnStateChangedListener.java
│ │ │ │ └── ScrollBoundaryDecider.java
│ │ │ ├── simple
│ │ │ │ ├── SimpleBoundaryDecider.java
│ │ │ │ ├── SimpleComponent.java
│ │ │ │ └── SimpleMultiListener.java
│ │ │ ├── util
│ │ │ │ ├── DesignUtil.java
│ │ │ │ └── SmartUtil.java
│ │ │ └── wrapper
│ │ │ ├── RefreshContentWrapper.java
│ │ │ ├── RefreshFooterWrapper.java
│ │ │ └── RefreshHeaderWrapper.java
│ │ └── res
│ │ ├── values
│ │ │ ├── attrs.xml
│ │ │ ├── ids.xml
│ │ │ └── strings.xml
│ │ └── values-zh
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── scwang
│ └── smartrefresh
│ └── layout
│ └── ExampleUnitTest.java
└── settings.gradle
379 directories, 491 files