├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values-v21 │ │ │ │ └── styles.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_done.png │ │ │ │ ├── ic_menu.png │ │ │ │ ├── jd_speed.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── jd_people_0.png │ │ │ │ ├── jd_people_1.png │ │ │ │ ├── jd_people_2.png │ │ │ │ ├── jd_people_3.png │ │ │ │ ├── yalantis_icon_1.png │ │ │ │ ├── yalantis_icon_2.png │ │ │ │ ├── yalantis_icon_3.png │ │ │ │ ├── twitter_pull_arrow.png │ │ │ │ ├── yalantis_phoenix_sky.png │ │ │ │ ├── yalantis_phoenix_sun.png │ │ │ │ ├── twitter_pull_arrow_white.png │ │ │ │ └── yalantis_phoenix_buildings.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_done.png │ │ │ │ ├── ic_menu.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── yalantis_icon_1.png │ │ │ │ ├── yalantis_icon_2.png │ │ │ │ ├── yalantis_icon_3.png │ │ │ │ ├── twitter_pull_arrow.png │ │ │ │ ├── yalantis_phoenix_sky.png │ │ │ │ ├── yalantis_phoenix_sun.png │ │ │ │ ├── twitter_pull_arrow_white.png │ │ │ │ └── yalantis_phoenix_buildings.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_done.png │ │ │ │ ├── ic_menu.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── yalantis_icon_1.png │ │ │ │ ├── yalantis_icon_2.png │ │ │ │ ├── yalantis_icon_3.png │ │ │ │ ├── qq_refresh_success.png │ │ │ │ ├── twitter_pull_arrow.png │ │ │ │ ├── yalantis_phoenix_sky.png │ │ │ │ ├── yalantis_phoenix_sun.png │ │ │ │ ├── twitter_pull_arrow_white.png │ │ │ │ └── yalantis_phoenix_buildings.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_done.png │ │ │ │ ├── ic_menu.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── bg_viewpager.jpg │ │ │ │ ├── yalantis_icon_1.png │ │ │ │ ├── yalantis_icon_2.png │ │ │ │ ├── yalantis_icon_3.png │ │ │ │ ├── twitter_pull_arrow.png │ │ │ │ ├── yalantis_phoenix_sky.png │ │ │ │ ├── yalantis_phoenix_sun.png │ │ │ │ ├── twitter_pull_arrow_white.png │ │ │ │ └── yalantis_phoenix_buildings.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_done.png │ │ │ │ ├── ic_menu.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── yalantis_icon_1.png │ │ │ │ ├── yalantis_icon_2.png │ │ │ │ ├── yalantis_icon_3.png │ │ │ │ ├── yalantis_phoenix_sky.png │ │ │ │ ├── yalantis_phoenix_sun.png │ │ │ │ └── yalantis_phoenix_buildings.png │ │ │ ├── anim │ │ │ │ ├── cycle_interpolator.xml │ │ │ │ ├── twinkle.xml │ │ │ │ ├── rotate_up.xml │ │ │ │ └── rotate_down.xml │ │ │ ├── drawable │ │ │ │ ├── shape_rectangle.xml │ │ │ │ ├── selector_item_hero.xml │ │ │ │ ├── animation_list_refresh_jd.xml │ │ │ │ └── selector_indicator.xml │ │ │ ├── menu │ │ │ │ ├── menu_config.xml │ │ │ │ ├── menu_main.xml │ │ │ │ └── menu_drawer.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── layout │ │ │ │ ├── item_yalantis.xml │ │ │ │ ├── layout_toolbar.xml │ │ │ │ ├── layout_yalantis_header.xml │ │ │ │ ├── layout_google_header.xml │ │ │ │ ├── layout_google_footer.xml │ │ │ │ ├── layout_navigation_header.xml │ │ │ │ ├── layout_viewpager.xml │ │ │ │ ├── layout_viewpager_grid.xml │ │ │ │ ├── fragment_twitter_other_imageview.xml │ │ │ │ ├── item_viewpager.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── item_hero_grid.xml │ │ │ │ ├── fragment_twitter_other_textview.xml │ │ │ │ ├── item_header.xml │ │ │ │ ├── item_hero.xml │ │ │ │ ├── layout_google_hook_header.xml │ │ │ │ ├── layout_google_hook_footer.xml │ │ │ │ ├── fragment_twitter_web_view.xml │ │ │ │ ├── layout_jd_header.xml │ │ │ │ ├── fragment_twitter_grid_view.xml │ │ │ │ ├── fragment_nav_java_code.xml │ │ │ │ ├── fragment_twitter_recycler.xml │ │ │ │ ├── fragment_twitter_listview.xml │ │ │ │ ├── fragment_twitter_other_linearlayout.xml │ │ │ │ ├── fragment_twitter_other_framelayout.xml │ │ │ │ ├── fragment_twitter_other_relativelayout.xml │ │ │ │ ├── fragment_google_style.xml │ │ │ │ ├── fragment_google_style_custom.xml │ │ │ │ ├── fragment_nav_jd.xml │ │ │ │ ├── fragment_nav_yalantis.xml │ │ │ │ ├── layout_classic_footer.xml │ │ │ │ ├── activity_about.xml │ │ │ │ ├── layout_twitter_header.xml │ │ │ │ ├── fragment_base_nav_pager.xml │ │ │ │ ├── fragment_nav_twitter.xml │ │ │ │ ├── fragment_twitter_scroll_view.xml │ │ │ │ └── layout_dialog_config.xml │ │ │ └── values │ │ │ │ ├── strings.xml │ │ │ │ ├── styles.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── attrs.xml │ │ │ │ └── dimens.xml │ │ ├── ic_launcher-web.png │ │ ├── java │ │ │ └── com │ │ │ │ ├── aspsine │ │ │ │ └── swipetoloadlayout │ │ │ │ │ └── demo │ │ │ │ │ ├── fragment │ │ │ │ │ ├── BaseFragment.java │ │ │ │ │ ├── BaseNavigationFragment.java │ │ │ │ │ ├── NavGoogleFragment.java │ │ │ │ │ ├── BaseToolbarFragment.java │ │ │ │ │ ├── NavJDFragment.java │ │ │ │ │ ├── BaseNavPagerFragment.java │ │ │ │ │ ├── NavTwitterFragment.java │ │ │ │ │ ├── TwitterWebViewFragment.java │ │ │ │ │ ├── TwitterOtherViewFragment.java │ │ │ │ │ └── NavYalantisFragment.java │ │ │ │ │ ├── adapter │ │ │ │ │ ├── OnGroupItemClickListener.java │ │ │ │ │ ├── OnGroupItemLongClickListener.java │ │ │ │ │ ├── OnChildItemClickListener.java │ │ │ │ │ ├── OnChildItemLongClickListener.java │ │ │ │ │ ├── BaseArrayAdapter.java │ │ │ │ │ ├── CharacterAdapter.java │ │ │ │ │ ├── LoopViewPagerAdapter.java │ │ │ │ │ ├── SectionAdapter.java │ │ │ │ │ └── BaseGroupAdapter.java │ │ │ │ │ ├── Constants.java │ │ │ │ │ ├── model │ │ │ │ │ ├── Section.java │ │ │ │ │ ├── SectionCharacters.java │ │ │ │ │ └── Character.java │ │ │ │ │ ├── view │ │ │ │ │ ├── drawable │ │ │ │ │ │ ├── google │ │ │ │ │ │ │ ├── MaterialHookDrawable.java │ │ │ │ │ │ │ ├── ProgressDrawable.java │ │ │ │ │ │ │ └── RingProgressDrawable.java │ │ │ │ │ │ └── yalantis │ │ │ │ │ │ │ └── BaseRefreshDrawable.java │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── ClassicLoadMoreFooterView.java │ │ │ │ │ │ ├── GoogleLoadMoreFooterView.java │ │ │ │ │ │ └── GoogleCircleHookLoadMoreFooterView.java │ │ │ │ │ └── header │ │ │ │ │ │ ├── GoogleRefreshHeaderView.java │ │ │ │ │ │ ├── YalantisPhoenixRefreshHeaderView.java │ │ │ │ │ │ ├── JdRefreshHeaderView.java │ │ │ │ │ │ ├── GoogleCircleHookRefreshHeaderView.java │ │ │ │ │ │ └── TwitterRefreshHeaderView.java │ │ │ │ │ ├── util │ │ │ │ │ ├── DensityUtil.java │ │ │ │ │ └── AssetUtils.java │ │ │ │ │ ├── App.java │ │ │ │ │ ├── MainFragmentAdapter.java │ │ │ │ │ ├── AboutActivity.java │ │ │ │ │ └── MainActivity.java │ │ │ │ ├── android │ │ │ │ └── volley │ │ │ │ │ └── toolbox │ │ │ │ │ └── GsonRequest.java │ │ │ │ └── squareup │ │ │ │ └── picasso │ │ │ │ └── CircleTransformation.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── aspsine │ │ │ └── swipetoloadlayout │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── aspsine │ │ └── swipetoloadlayout │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── library ├── .gitignore ├── src │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── aspsine │ │ │ │ └── swipetoloadlayout │ │ │ │ ├── OnRefreshListener.java │ │ │ │ ├── SwipeLoadMoreTrigger.java │ │ │ │ ├── OnLoadMoreListener.java │ │ │ │ ├── SwipeRefreshTrigger.java │ │ │ │ ├── SwipeTrigger.java │ │ │ │ ├── SwipeRefreshHeaderLayout.java │ │ │ │ └── SwipeLoadMoreFooterLayout.java │ │ └── res │ │ │ └── values │ │ │ ├── ids.xml │ │ │ └── attrs.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── aspsine │ │ │ └── swipetoloadlayout │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── aspsine │ │ └── swipetoloadlayout │ │ └── ApplicationTest.java ├── build.gradle └── proguard-rules.pro ├── settings.gradle ├── art └── demo.apk ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── gradlew.bat ├── README_CN.md ├── README.md └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':library' 2 | -------------------------------------------------------------------------------- /art/demo.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/art/demo.apk -------------------------------------------------------------------------------- /app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/ic_done.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/jd_speed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/jd_speed.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/ic_done.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/ic_done.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/ic_done.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_done.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/jd_people_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/jd_people_0.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/jd_people_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/jd_people_1.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/jd_people_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/jd_people_2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/jd_people_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/jd_people_3.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/yalantis_icon_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/yalantis_icon_1.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/yalantis_icon_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/yalantis_icon_2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/yalantis_icon_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/yalantis_icon_3.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/yalantis_icon_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/yalantis_icon_1.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/yalantis_icon_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/yalantis_icon_2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/yalantis_icon_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/yalantis_icon_3.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/bg_viewpager.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/bg_viewpager.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/twitter_pull_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/twitter_pull_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/twitter_pull_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/twitter_pull_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/yalantis_icon_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/yalantis_icon_1.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/yalantis_icon_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/yalantis_icon_2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/yalantis_icon_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/yalantis_icon_3.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/yalantis_icon_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/yalantis_icon_1.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/yalantis_icon_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/yalantis_icon_2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/yalantis_icon_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/yalantis_icon_3.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/yalantis_icon_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/yalantis_icon_1.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/yalantis_icon_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/yalantis_icon_2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/yalantis_icon_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/yalantis_icon_3.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/yalantis_phoenix_sky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/yalantis_phoenix_sky.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/yalantis_phoenix_sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/yalantis_phoenix_sun.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/yalantis_phoenix_sky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/yalantis_phoenix_sky.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/yalantis_phoenix_sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/yalantis_phoenix_sun.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/qq_refresh_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/qq_refresh_success.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/twitter_pull_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/twitter_pull_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/twitter_pull_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/twitter_pull_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/yalantis_phoenix_sky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/yalantis_phoenix_sky.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/yalantis_phoenix_sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/yalantis_phoenix_sun.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/yalantis_phoenix_sky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/yalantis_phoenix_sky.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/yalantis_phoenix_sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/yalantis_phoenix_sun.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/yalantis_phoenix_sky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/yalantis_phoenix_sky.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/yalantis_phoenix_sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/yalantis_phoenix_sun.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/twitter_pull_arrow_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/twitter_pull_arrow_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/twitter_pull_arrow_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/twitter_pull_arrow_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/twitter_pull_arrow_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/twitter_pull_arrow_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/yalantis_phoenix_buildings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-hdpi/yalantis_phoenix_buildings.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/yalantis_phoenix_buildings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-mdpi/yalantis_phoenix_buildings.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/yalantis_phoenix_buildings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xhdpi/yalantis_phoenix_buildings.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/twitter_pull_arrow_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/twitter_pull_arrow_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/yalantis_phoenix_buildings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxhdpi/yalantis_phoenix_buildings.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/yalantis_phoenix_buildings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/HEAD/app/src/main/res/mipmap-xxxhdpi/yalantis_phoenix_buildings.png -------------------------------------------------------------------------------- /library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /library/src/main/java/com/aspsine/swipetoloadlayout/OnRefreshListener.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | /** 4 | * Created by Aspsine on 2015/8/13. 5 | */ 6 | public interface OnRefreshListener { 7 | public void onRefresh(); 8 | } 9 | -------------------------------------------------------------------------------- /library/src/main/java/com/aspsine/swipetoloadlayout/SwipeLoadMoreTrigger.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | /** 4 | * Created by Aspsine on 2015/8/17. 5 | */ 6 | public interface SwipeLoadMoreTrigger { 7 | void onLoadMore(); 8 | } 9 | -------------------------------------------------------------------------------- /library/src/main/java/com/aspsine/swipetoloadlayout/OnLoadMoreListener.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | /** 4 | * Created by Aspsine on 2015/8/13. 5 | */ 6 | public interface OnLoadMoreListener { 7 | public void onLoadMore(); 8 | } 9 | -------------------------------------------------------------------------------- /library/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /library/src/main/java/com/aspsine/swipetoloadlayout/SwipeRefreshTrigger.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | /** 4 | * Created by Aspsine on 2015/8/13. 5 | */ 6 | public interface SwipeRefreshTrigger { 7 | 8 | void onRefresh(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jan 04 00:31:07 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/cycle_interpolator.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/com/aspsine/swipetoloadlayout/demo/fragment/BaseFragment.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout.demo.fragment; 2 | 3 | import android.support.v4.app.Fragment; 4 | 5 | /** 6 | * Created by aspsine on 15/9/8. 7 | */ 8 | public class BaseFragment extends Fragment { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_rectangle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/twinkle.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/aspsine/swipetoloadlayout/demo/adapter/OnGroupItemClickListener.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout.demo.adapter; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by aspsine on 16/8/9. 7 | */ 8 | 9 | public interface OnGroupItemClickListener { 10 | void onGroupItemClick(int groupPosition, G g, View view); 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/aspsine/swipetoloadlayout/demo/adapter/OnGroupItemLongClickListener.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout.demo.adapter; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by aspsine on 16/8/9. 7 | */ 8 | 9 | public interface OnGroupItemLongClickListener { 10 | boolean onGroupLongClick(int groupPosition, G g, View view); 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/aspsine/swipetoloadlayout/demo/adapter/OnChildItemClickListener.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout.demo.adapter; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by aspsine on 16/8/9. 7 | */ 8 | 9 | public interface OnChildItemClickListener { 10 | void onChildItemClick(int groupPosition, int childPosition, C c, View view); 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/aspsine/swipetoloadlayout/demo/adapter/OnChildItemLongClickListener.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout.demo.adapter; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by aspsine on 16/8/9. 7 | */ 8 | 9 | public interface OnChildItemLongClickListener { 10 | boolean onClickItemLongClick(int groupPosition, int childPosition, C c, View view); 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/rotate_up.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_item_hero.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /library/src/main/java/com/aspsine/swipetoloadlayout/SwipeTrigger.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | /** 4 | * Created by Aspsine on 2015/8/17. 5 | */ 6 | public interface SwipeTrigger { 7 | void onPrepare(); 8 | 9 | void onMove(int y, boolean isComplete, boolean automatic); 10 | 11 | void onRelease(); 12 | 13 | void onComplete(); 14 | 15 | void onReset(); 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/anim/rotate_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | -------------------------------------------------------------------------------- /app/src/test/java/com/aspsine/swipetoloadlayout/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /library/src/test/java/com/aspsine/swipetoloadlayout/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /app/src/androidTest/java/com/aspsine/swipetoloadlayout/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /library/src/androidTest/java/com/aspsine/swipetoloadlayout/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/item_yalantis.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/aspsine/swipetoloadlayout/demo/Constants.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout.demo; 2 | 3 | /** 4 | * Created by Aspsine on 2015/9/6. 5 | */ 6 | public class Constants { 7 | 8 | public static final class API { 9 | public static final String CHARACTERS = "https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/dev/app/src/main/assets/characters.json"; 10 | public static final String ALL_CHARACTERS = "https://raw.githubusercontent.com/Aspsine/SwipeToLoadLayout/master/app/src/main/assets/all_characters.json"; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_toolbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/animation_list_refresh_jd.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 10 | 13 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_yalantis_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | SwipeToLoadLayout Demo 3 | 4 | Hello world! 5 | Config 6 | 7 | 8 | Hello blank fragment 9 | Aspsine 10 | SwipeToLoadLayout provides a standered to achieve pull-to-refresh and pull-to-loadmore. 11 | http://github.com/Aspsine/SwipeToLoadLayout 12 | 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### Android template 2 | # Built application files 3 | *.apk 4 | *.ap_ 5 | 6 | # Files for the Dalvik VM 7 | *.dex 8 | 9 | # Java class files 10 | *.class 11 | 12 | # Generated files 13 | bin/ 14 | gen/ 15 | 16 | # Gradle files 17 | .gradle/ 18 | build/ 19 | 20 | # Local configuration file (sdk path, etc) 21 | local.properties 22 | 23 | # Proguard folder generated by Eclipse 24 | proguard/ 25 | 26 | # Log Files 27 | *.log 28 | 29 | # Android Studio Navigation editor temp files 30 | .navigation/ 31 | 32 | /.gitignore 33 | .gradle 34 | /local.properties 35 | /.idea/workspace.xml 36 | /.idea/libraries 37 | .DS_Store 38 | /build 39 | /captures 40 | /.idea 41 | *.iml 42 | .idea 43 | -------------------------------------------------------------------------------- /library/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 25 5 | buildToolsVersion '25.0.2' 6 | 7 | defaultConfig { 8 | minSdkVersion 9 9 | targetSdkVersion 25 10 | versionCode 4 11 | versionName "1.0.4" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | compile fileTree(include: ['*.jar'], dir: 'libs') 23 | testCompile 'junit:junit:4.12' 24 | compile 'com.android.support:support-compat:25.1.0' 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/aspsine/swipetoloadlayout/demo/model/Section.java: -------------------------------------------------------------------------------- 1 | package com.aspsine.swipetoloadlayout.demo.model; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by aspsine on 15/9/4. 7 | */ 8 | public class Section { 9 | private String name; 10 | private List characters; 11 | 12 | public String getName() { 13 | return name; 14 | } 15 | 16 | public void setName(String name) { 17 | this.name = name; 18 | } 19 | 20 | public List getCharacters() { 21 | return characters; 22 | } 23 | 24 | public void setCharacters(List characters) { 25 | this.characters = characters; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in D:\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in D:\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_google_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_google_footer.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 14 | 15 |