Showing preview only (1,078K chars total). Download the full file or copy to clipboard to get everything.
Repository: cymcsg/UltimateRecyclerView
Branch: master
Commit: 7c4a0c7fb22f
Files: 269
Total size: 979.2 KB
Directory structure:
gitextract_br_37l1j/
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── UltimateRecyclerView/
│ ├── app/
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ ├── androidTest/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── marshalchen/
│ │ │ └── ultimaterecyclerview/
│ │ │ └── demo/
│ │ │ └── ApplicationTest.java
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── marshalchen/
│ │ │ └── ultimaterecyclerview/
│ │ │ └── demo/
│ │ │ ├── LauncherActivity.java
│ │ │ ├── MainList.java
│ │ │ ├── SimpleAdapter.java
│ │ │ ├── admobdemo/
│ │ │ │ ├── SingleItemCommonLayout.java
│ │ │ │ ├── SingleItemHolder.java
│ │ │ │ ├── TestAdMobClassicActivity.java
│ │ │ │ ├── TestAdvancedAdmobActivity.java
│ │ │ │ └── ZeroStickyAdvertistmentAdapter.java
│ │ │ ├── dragdemo/
│ │ │ │ ├── DragActivity.java
│ │ │ │ └── DragAdatper.java
│ │ │ ├── expandemo/
│ │ │ │ ├── Category.java
│ │ │ │ ├── ExpCustomAdapter.java
│ │ │ │ ├── SubCategory.java
│ │ │ │ └── TestExpandableRV.java
│ │ │ ├── griddemo/
│ │ │ │ ├── GridJRAdapter.java
│ │ │ │ ├── GridLayoutRVTest.java
│ │ │ │ ├── GridStringAdapter.java
│ │ │ │ └── GridTestOnlyOnePage.java
│ │ │ ├── loadmoredemo/
│ │ │ │ ├── BasicFunctions.java
│ │ │ │ ├── DebugLoadMoreActivity.java
│ │ │ │ ├── DebugNoHeaderLoadMoreActivity.java
│ │ │ │ ├── FinalEmptyViewDisplayActivity.java
│ │ │ │ ├── FirstPageCancelLoadMore.java
│ │ │ │ ├── LineNodeActivity.java
│ │ │ │ ├── PullToRefreshActivity.java
│ │ │ │ ├── Route.java
│ │ │ │ ├── SliderHeader.java
│ │ │ │ ├── StaggerLoadMoreActivity.java
│ │ │ │ └── SwipeListViewExampleActivity.java
│ │ │ ├── modules/
│ │ │ │ ├── AbstractDataProvider.java
│ │ │ │ ├── CircularImageView.java
│ │ │ │ ├── FastBinding.java
│ │ │ │ ├── JRitem.java
│ │ │ │ ├── MainWatcher.java
│ │ │ │ ├── SampleDataboxset.java
│ │ │ │ ├── TimeLineModel.java
│ │ │ │ └── ViewPagerAdapter.java
│ │ │ ├── multiitemdemo/
│ │ │ │ ├── MultiViewTypesActivity.java
│ │ │ │ ├── MultiViewTypesRecyclerViewAdapter.java
│ │ │ │ ├── Sample1Binder.java
│ │ │ │ └── Sample2Binder.java
│ │ │ ├── rvComponents/
│ │ │ │ ├── SimpleAnimationAdapter.java
│ │ │ │ ├── SwipeAdapter.java
│ │ │ │ ├── TimeLineAdapter.java
│ │ │ │ ├── itemCommonBinder.java
│ │ │ │ ├── itemGridCellBinder.java
│ │ │ │ ├── itemNode.java
│ │ │ │ ├── itemStaggerCommonBinder.java
│ │ │ │ ├── sectionCommonAdapter.java
│ │ │ │ ├── sectionZeroAdapter.java
│ │ │ │ └── staggerAdapter.java
│ │ │ ├── scrollableobservable/
│ │ │ │ ├── BaseActivity.java
│ │ │ │ ├── BaseFragment.java
│ │ │ │ ├── ScrollObservablesActivity.java
│ │ │ │ ├── ViewPagerFragmentListSingle.java
│ │ │ │ ├── ViewPagerTabFragmentParentFragment.java
│ │ │ │ └── widget/
│ │ │ │ ├── SlidingTabLayout.java
│ │ │ │ └── SlidingTabStrip.java
│ │ │ └── swiplistdemo/
│ │ │ └── PackageAdapter.java
│ │ └── res/
│ │ ├── drawable/
│ │ │ ├── ic_add_24dp.xml
│ │ │ ├── ic_autorenew_24dp.xml
│ │ │ ├── ic_blur_linear_24dp.xml
│ │ │ ├── ic_bug_report_24dp.xml
│ │ │ ├── ic_exposure_plus_1_24dp.xml
│ │ │ ├── ic_extension_24dp.xml
│ │ │ ├── ic_remove_24dp.xml
│ │ │ └── toptint.xml
│ │ ├── drawable-mdpi/
│ │ │ └── custom_drag_frame.xml
│ │ ├── drawable-xxhdpi/
│ │ │ └── item_selector.xml
│ │ ├── layout/
│ │ │ ├── activity_drag.xml
│ │ │ ├── activity_launcher.xml
│ │ │ ├── activity_loadmore.xml
│ │ │ ├── activity_main.xml
│ │ │ ├── countable_rv_adp.xml
│ │ │ ├── custom_bottom_progressbar.xml
│ │ │ ├── custom_refresh_activity.xml
│ │ │ ├── empty_view.xml
│ │ │ ├── empty_view_v2.xml
│ │ │ ├── exp_child.xml
│ │ │ ├── exp_parent.xml
│ │ │ ├── floating_view.xml
│ │ │ ├── floatingbutton_grid_layout.xml
│ │ │ ├── grid_item.xml
│ │ │ ├── header_love.xml
│ │ │ ├── item_node.xml
│ │ │ ├── item_swipeable.xml
│ │ │ ├── list_item.xml
│ │ │ ├── list_item_header.xml
│ │ │ ├── listurv.xml
│ │ │ ├── package_row.xml
│ │ │ ├── parallax_recyclerview_header.xml
│ │ │ ├── recycler_view_adapter.xml
│ │ │ ├── rv_item_linear.xml
│ │ │ ├── rv_item_stagger.xml
│ │ │ ├── rv_sample_1.xml
│ │ │ ├── rv_sample_2.xml
│ │ │ ├── simple_scroll_activity.xml
│ │ │ ├── simplefragment_viewpager_tabhost.xml
│ │ │ ├── simplefragment_viewpaper_fragment_parent.xml
│ │ │ ├── stick_header_item.xml
│ │ │ ├── swipe_list_view_activity.xml
│ │ │ ├── tab_indicator.xml
│ │ │ └── toolbar_loadmore.xml
│ │ ├── menu/
│ │ │ ├── admenu.xml
│ │ │ └── menu_main.xml
│ │ ├── values/
│ │ │ ├── CirclarImageViewCustomStyle.xml
│ │ │ ├── arrays.xml
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── ids.xml
│ │ │ ├── scollables.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── values-w820dp/
│ │ └── dimens.xml
│ ├── build.gradle
│ ├── gradle/
│ │ └── wrapper/
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── settings.gradle
│ └── ultimaterecyclerview/
│ ├── android-release-aar.gradle
│ ├── bintray-release-aar.gradle
│ ├── bintray_3_4.gradle
│ ├── build.gradle
│ ├── gradle.properties
│ ├── maven-push.gradle
│ ├── proguard-rules.pro
│ └── src/
│ ├── androidTest/
│ │ └── java/
│ │ └── com/
│ │ └── marshalchen/
│ │ └── ultimaterecyclerview/
│ │ └── ApplicationTest.java
│ └── main/
│ ├── AndroidManifest.xml
│ ├── java/
│ │ └── com/
│ │ └── marshalchen/
│ │ └── ultimaterecyclerview/
│ │ ├── CustomUltimateRecyclerview.java
│ │ ├── DragDropTouchListener.java
│ │ ├── ItemTouchListenerAdapter.java
│ │ ├── NormalUltimateViewAdapter.java
│ │ ├── ObservableScrollState.java
│ │ ├── ObservableScrollViewCallbacks.java
│ │ ├── RecyclerItemClickListener.java
│ │ ├── Scrollable.java
│ │ ├── SwipeDismissTouchListener.java
│ │ ├── SwipeableUltimateRecyclerview.java
│ │ ├── SwipeableUltimateViewAdapter.java
│ │ ├── URLogs.java
│ │ ├── UltimateDifferentViewTypeAdapter.java
│ │ ├── UltimateGridLayoutAdapter.java
│ │ ├── UltimateRecyclerView.java
│ │ ├── UltimateRecyclerviewViewHolder.java
│ │ ├── UltimateViewAdapter.java
│ │ ├── appPaginator/
│ │ │ ├── PageControlConst.java
│ │ │ ├── catelogGrid.java
│ │ │ ├── catelogLinear.java
│ │ │ ├── paginator.java
│ │ │ └── v4/
│ │ │ ├── catelogGrid.java
│ │ │ ├── catelogLinear.java
│ │ │ └── paginator.java
│ │ ├── dragsortadapter/
│ │ │ ├── DragInfo.java
│ │ │ ├── DragManager.java
│ │ │ ├── DragSortAdapter.java
│ │ │ ├── DragSortShadowBuilder.java
│ │ │ └── NoForegroundShadowBuilder.java
│ │ ├── expanx/
│ │ │ ├── ExpandableItemData.java
│ │ │ ├── LinearExpanxURVAdapter.java
│ │ │ ├── SmartItem.java
│ │ │ ├── Util/
│ │ │ │ ├── BaseViewHolder.java
│ │ │ │ ├── ChildClickListener.java
│ │ │ │ ├── ChildVH.java
│ │ │ │ ├── DataUtil.java
│ │ │ │ ├── ItemDataClickListener.java
│ │ │ │ ├── OnScrollToListener.java
│ │ │ │ ├── ParentVH.java
│ │ │ │ ├── child.java
│ │ │ │ ├── easyTemplateChild.java
│ │ │ │ ├── easyTemplateParent.java
│ │ │ │ └── parent.java
│ │ │ └── customizedAdapter.java
│ │ ├── grid/
│ │ │ ├── BasicGridLayoutManager.java
│ │ │ ├── GridPaddingDecorator.java
│ │ │ ├── GridSpacingItemDecoration.java
│ │ │ └── customSectionGridAdapter.java
│ │ ├── gridSection/
│ │ │ ├── HeaderViewHolder.java
│ │ │ ├── SectionedRecyclerViewAdapter.java
│ │ │ ├── SectionedSpanSizeLookup.java
│ │ │ └── SimpleSectionedAdapter.java
│ │ ├── itemTouchHelper/
│ │ │ ├── ItemTouchHelperAdapter.java
│ │ │ ├── ItemTouchHelperViewHolder.java
│ │ │ └── SimpleItemTouchHelperCallback.java
│ │ ├── layoutmanagers/
│ │ │ ├── ClassicSpanGridLayoutManager.java
│ │ │ ├── CustomLinearLayoutManager.java
│ │ │ └── ScrollSmoothLineaerLayoutManager.java
│ │ ├── multiViewTypes/
│ │ │ └── DataBinder.java
│ │ ├── quickAdapter/
│ │ │ ├── AdItemHolder.java
│ │ │ ├── AdmobAdapter.java
│ │ │ ├── BiAdAdapterSwitcher.java
│ │ │ ├── StaggerHolder.java
│ │ │ ├── easyRegularAdapter.java
│ │ │ ├── extBaseAdapter/
│ │ │ │ ├── BaseAdapterHelper.java
│ │ │ │ ├── BaseQuickAdapter.java
│ │ │ │ ├── EnhancedQuickAdapter.java
│ │ │ │ └── QuickAdapter.java
│ │ │ └── extUtimateRVA/
│ │ │ └── MultiItemTypeSupport.java
│ │ ├── stickyheadersrecyclerview/
│ │ │ ├── HeaderPositionCalculator.java
│ │ │ ├── StickyRecyclerHeadersAdapter.java
│ │ │ ├── StickyRecyclerHeadersDecoration.java
│ │ │ ├── StickyRecyclerHeadersTouchListener.java
│ │ │ ├── caching/
│ │ │ │ ├── HeaderProvider.java
│ │ │ │ └── HeaderViewCache.java
│ │ │ ├── calculation/
│ │ │ │ └── DimensionCalculator.java
│ │ │ ├── rendering/
│ │ │ │ └── HeaderRenderer.java
│ │ │ └── util/
│ │ │ ├── LinearLayoutOrientationProvider.java
│ │ │ └── OrientationProvider.java
│ │ ├── swipe/
│ │ │ ├── SimpleSwipeListener.java
│ │ │ ├── SwipeItemManagerImpl.java
│ │ │ ├── SwipeItemManagerInterface.java
│ │ │ └── SwipeLayout.java
│ │ ├── swipelistview/
│ │ │ ├── BaseSwipeListViewListener.java
│ │ │ ├── SwipeListView.java
│ │ │ ├── SwipeListViewListener.java
│ │ │ └── SwipeListViewTouchListener.java
│ │ ├── ui/
│ │ │ ├── AdGoogleDisplaySupport.java
│ │ │ ├── AnimationType.java
│ │ │ ├── CustomPtr.java
│ │ │ ├── DividerItemDecoration.java
│ │ │ ├── VerticalSwipeRefreshLayout.java
│ │ │ ├── divideritemdecoration/
│ │ │ │ ├── FlexibleDividerDecoration.java
│ │ │ │ ├── HorizontalDividerItemDecoration.java
│ │ │ │ └── VerticalDividerItemDecoration.java
│ │ │ ├── emptyview/
│ │ │ │ └── emptyViewOnShownListener.java
│ │ │ ├── floatingactionbutton/
│ │ │ │ ├── AddFloatingActionButton.java
│ │ │ │ ├── FloatingActionButton.java
│ │ │ │ ├── FloatingActionsMenu.java
│ │ │ │ └── JellyBeanFloatingActionButton.java
│ │ │ ├── header/
│ │ │ │ ├── HeaderItemDecoration.java
│ │ │ │ ├── HeaderShadowDecoration.java
│ │ │ │ └── RecyclerViewHeader.java
│ │ │ ├── swipe/
│ │ │ │ ├── SwipeableRecyclerViewTouchListener.java
│ │ │ │ └── defaultRegularSwipe.java
│ │ │ └── timelineview/
│ │ │ ├── LineType.java
│ │ │ └── TimelineView.java
│ │ └── uiUtils/
│ │ ├── CacheFragmentStatePagerAdapter.java
│ │ ├── RecyclerViewPositionHelper.java
│ │ ├── SavedStateScrolling.java
│ │ ├── ScrollUtils.java
│ │ └── TouchInterceptionLayout.java
│ └── res/
│ ├── drawable/
│ │ ├── drag_frame.xml
│ │ └── timelinedefaultmarker.xml
│ ├── drawable-v14/
│ │ └── timelinedefaultmarker.xml
│ ├── layout/
│ │ ├── bottom_progressbar.xml
│ │ ├── custom_recycler_view_layout.xml
│ │ ├── empty_progressbar.xml
│ │ ├── horizontal_recycler_view.xml
│ │ ├── slm_header.xml
│ │ ├── swipeable_ultimate_recycler_view_layout.xml
│ │ ├── ultimate_recycler_view_layout.xml
│ │ └── vertical_recycler_view.xml
│ └── values/
│ ├── attrs.xml
│ ├── color.xml
│ ├── dimens.xml
│ ├── ids.xml
│ ├── strings.xml
│ └── styles.xml
├── UpcomingChanges.md
└── _config.yml
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# Android generated
bin/
gen/
.DS_Store
# Ant
build.xml
local.properties
# Maven
target/
pom.xml.*
release.properties
# Eclipse
.classpath
.project
.externalToolBuilders/
.apt_generated/
# IntelliJ
*.iml
*.ipr
*.iws
.idea/
out/
output/
.gitignore.orig
.project.bak
.settings/org.eclipse.core.resources.prefs
.settings/org.eclipse.core.runtime.prefs
.settings/org.eclipse.jdt.apt.core.prefs
.settings/org.eclipse.jdt.core.prefs
.settings/org.eclipse.jdt.launching.prefs
.settings/
.properties
**/*.iml
**/*/.idea
**/.idea
.gradle
build/
**/.gradle
**/*/build
**/build
# key info:
ultimateandroid.jks
keystore.properties
gradleinfo.properties
# Ignore Gradle GUI config
gradle-app.setting
manifest-merger-release-report.txt
*.apk
================================================
FILE: .travis.yml
================================================
language: android
jdk:
- oraclejdk8
# Turning off caching to avoid caching Issues
# cache: false
# Using the new Container-Based Infrastructure
sudo: false
env:
global:
# Initiating clean Gradle output
- TERM=dumb
# Amount of memory granted to Gradle JVM
- GRADLE_OPTS="-Xmx512m -XX:MaxPermSize=512m"
# General Android settings used in builds
- ANDROID_TARGET=android-30
before_install:
# Making sure gradlew has executable permissions
- cd UltimateRecyclerView
- chmod a+x gradlew
- yes | sdkmanager "platforms;android-30"
android:
components:
# We are using the latest revision of Android SDK Tools
- tools
- platform-tools
- android-30
# The BuildTools version we are using for our project
- build-tools-29.0.2
# Additional components
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository
licenses:
- 'android-sdk-license-.+'
script:
#./gradlew build
./gradlew assembleDebug
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
# UltimateRecyclerView
[  ](https://bintray.com/marshalchen/UltimateRecyclerview/UltimateRecyclerview/_latestVersion)[](https://www.apache.org/licenses/LICENSE-2.0)[](http://waffle.io/cymcsg/UltimateRecyclerView)
#### Master branch:[](https://travis-ci.org/cymcsg/UltimateRecyclerView)
#### Dev branch:[](https://travis-ci.org/cymcsg/UltimateRecyclerView)
##### Project website:[https://github.com/cymcsg/UltimateRecyclerView](https://github.com/cymcsg/UltimateRecyclerView)
### Description
UltimateRecyclerView is a RecyclerView(advanced and flexible version of ListView) with pulling to refresh, loading more, swiping to dismiss, draging and drop, animations ,sticky header,show or hide toolbar and FAB when scrolling and many other features.You can use it ```just like RecyclerView```. Support AndroidX now.
Notice that UltimateRecyclerView is a project under development.
[Your donations is highly appreciated. Thank you!](#donations)
### Features:
* Swipe to refresh(using AndroidX SwipeRefreshLayout)
* Many kinds of animations
* Swipe to dismiss
* Parallax or normal head view
* Drag and drop items
* Loading more when reach the last item(infinite scrolling)
* Custom views in loading more
* Showing or hiding toolbar and floating button when scrolling
* Scrollbars
* Colorful styles of ``swipe to refresh``
* Sticky header like instagram
* Support different layout in adapter
* Loading adapter with animation
* Expandable view in recyclerview
#### Quick Setup (Basic Usage)
##### 1.Using Gradle:
```groovy
repositories {
mavenCentral()
google()
}
dependencies {
...
implementation 'com.marshalchen.ultimaterecyclerview:library:0.9.0'
}
```
or grab via Maven
```xml
<dependency>
<groupId>com.marshalchen.ultimaterecyclerview</groupId>
<artifactId>library</artifactId>
<version>0.9.0</version>
</dependency>
```
##### 2.Usage:
``` xml
<com.marshalchen.ultimaterecyclerview.UltimateRecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/ultimate_recycler_view"
/>
```
For more details, you can read the Wiki and the demo of the project.
### Version Log
* ***v0.8.0*** Migrate to AndroidX
* ***v0.7.0*** Support most features in Recyclerview 24.0.0. Improve the UltimateAdapter. Reduce the size of the library. Fix some bugs.
* ***v0.5.8*** In this version we are now based on support library 23.4.0. We have fixed the load more and disable load more function from early triggers. There is no need to change anything from their implementations. Please read up on the example code if you have any questions from the implementations.
* ***v0.5.6*** In this version we now have 23.3.0 support library and the min version is supported all the ways to v13. New added feature that allow us to adding have node connector on each item on `linearlayoutmanager`. By extending `TimeLineView` you will now have unlimited builds from the things that connected to each dot.
* ***v0.5.0*** this library will be based on v23.2.1 from now on. if you need have the v23.1.1 please go back to the previous release. detail of this upgrade please see [#342](https://github.com/cymcsg/UltimateRecyclerView/issues/342)
* ***v0.4.9*** This is the last version that will be based on V23.1.1. and this library will not be supported on this version. For further supports please refer to the latest release.
* ***v0.3.11*** There are still version that is based on 22.+
### Upcoming features:
* Refer to discussion for headers [#299](https://github.com/cymcsg/UltimateRecyclerView/issues/299)
* Refer to discussion for the loading more [#276](https://github.com/cymcsg/UltimateRecyclerView/issues/276)
* Swipe issue and discussion [#296](https://github.com/cymcsg/UltimateRecyclerView/issues/296)
* Wishlist for [UltiamteRecyclerview 0.4.2](UpcomingChanges.md)
* and more.
> Notice that it might not be the latest version
### Demo App / Sample Code:
* Due to rapid updates and developments we have decided to host the demo APK on github
* Check out this link for [latest demonstration for the code](https://github.com/cymcsg/UltimateRecyclerView/releases)
* Video demo for [grid layout demo](https://www.youtube.com/watch?v=iTnIf-N8m1Y)
* or you can check it out already compiled at [Google Play](https://play.google.com/store/apps/details?id=com.marshalchen.ultimaterecyclerview.demo)
* You can clone the project and compile it yourself (it includes a sample), or you can check it out already compiled at Google Play
* You can read more usage in [wiki](https://github.com/cymcsg/UltimateRecyclerView/wiki) and welcome to make your own tutorials in here.
#### Welcome to fork and PR (pull request)
If you have some good ideas, please tell us. My email is cymcsg # gmail.com.And it is a good idea to put your idea on the issue. If you want to use a rapid development framework for developing apps, you can try [UltimateAndroid Framework](https://github.com/cymcsg/UltimateAndroid).
### Screenshot











### Thanks
* Use animators from [recyclerview-animators](https://github.com/wasabeef/recyclerview-animators)
* Deal with different types of LayoutManager from[SuperRecyclerView](https://github.com/Malinskiy/SuperRecyclerView)
* Divider of recyclerview[RecyclerView-FlexibleDivider](https://github.com/yqritc/RecyclerView-FlexibleDivider)
* Parallax header of the recyclerview[android-parallax-recyclerview](https://github.com/kanytu/android-parallax-recyclerview)
* Floating action button [FloatingActionButton](https://github.com/futuresimple/android-floating-action-button)
* Colorful pull to refresh [Ultra Pull To Refresh](https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh)
* Sticky section headers in RecyclerView [StickHeader](https://github.com/eowise/recyclerview-stickyheaders)
* Swipe[AndroidSwipeLayout](https://github.com/daimajia/AndroidSwipeLayout)
* Thanks [jjhesk](https://github.com/jjhesk) for doing so many work on the project
If there are someone who I do not mention here,please accept my sincerely appologies and tell me.
<h2 ><a name="donations"></a>Donations:</h2>
Donate $9.99: [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5GYRYZVNAK2G2)
Alipay:
Bitcoin Donation Accepted

## License
```
Copyright 2014-present Marshal Chen
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
================================================
FILE: UltimateRecyclerView/app/build.gradle
================================================
apply plugin: 'com.android.application'
android {
compileSdkVersion project.ANDROID_BUILD_SDK_VERSION as int
defaultConfig {
applicationId "com.marshalchen.ultimaterecyclerview.demo"
minSdkVersion project.ANDROID_BUILD_MIN_SDK_VERSION as int
targetSdkVersion project.ANDROID_BUILD_TARGET_SDK_VERSION as int
versionCode app_demo_versionCode
versionName app_demo_versionName
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
namespace 'com.marshalchen.ultimaterecyclerview.demo'
}
repositories {
flatDir {
dirs 'libs'
}
maven { url "http://dl.bintray.com/jjhesk/maven" }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
debugImplementation "com.squareup.leakcanary:leakcanary-android:${LEAKCANARY}"
implementation 'com.google.android.gms:play-services-ads:22.6.0'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.hkm.loyalslider:library:1.6.2'
implementation 'jp.wasabeef:recyclerview-animators:4.0.2'
//compile 'com.marshalchen.ultimaterecyclerview:library:0.8.0'
api project(':ultimaterecyclerview')
//used in the gridlayout
// compile 'com.hkm.loyalslider:library:1.4.5' exclude group: 'android.support.v13'
}
================================================
FILE: UltimateRecyclerView/app/proguard-rules.pro
================================================
#-dontwarn com.squareup.haha.guava.**
#-dontwarn com.squareup.haha.perflib.**
#-dontwarn com.squareup.haha.trove.**
-dontwarn com.squareup.leakcanary.**
#-keep class com.squareup.haha.** { *; }
-keep class com.squareup.leakcanary.** { *; }
================================================
FILE: UltimateRecyclerView/app/src/androidTest/java/com/marshalchen/ultimaterecyclerview/demo/ApplicationTest.java
================================================
package com.marshalchen.ultimaterecyclerview.demo;
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/AndroidManifest.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.marshalchen.ultimaterecyclerview.demo">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Used to adjust the work load depending on the type of network the device is using. -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Used to load images from the gallery content provider. -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:name=".modules.MainWatcher"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
tools:replace="android:icon,android:theme">
<activity
android:name=".MainList"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".LauncherActivity"></activity>
<activity
android:name=".multiitemdemo.MultiViewTypesActivity"
android:label="MultiViewTypesActivity" />
<activity
android:name=".griddemo.GridLayoutRVTest"
android:label="GridLayoutRVTest" />
<activity
android:name=".griddemo.GridTestOnlyOnePage"
android:label="GridLayoutRVTest" />
<activity
android:name=".loadmoredemo.PullToRefreshActivity"
android:label="CustomSwipeToRefreshRefreshActivity" />
<activity
android:name=".loadmoredemo.DebugNoHeaderLoadMoreActivity"
android:label="NO Header Load More" />
<activity
android:name=".loadmoredemo.FirstPageCancelLoadMore"
android:label="Stop Loading loadmore" />
<activity
android:name=".loadmoredemo.LineNodeActivity"
android:label="LineNodeActivity" />
<activity
android:name=".loadmoredemo.SliderHeader"
android:label="Slider Header" />
<activity
android:name=".admobdemo.TestAdMobClassicActivity"
android:label="TestAdMob" />
<activity
android:name=".expandemo.TestExpandableRV"
android:label="TestExpandableRV" />
<activity
android:name=".loadmoredemo.DebugLoadMoreActivity"
android:label="DebugLoadMoreActivity" />
<activity
android:name=".loadmoredemo.StaggerLoadMoreActivity"
android:label="StaggerLoadMoreActivity" />
<activity
android:name=".loadmoredemo.FinalEmptyViewDisplayActivity"
android:label="Display Final View" />
<activity
android:name=".scrollableobservable.ScrollObservablesActivity"
android:label="ScrollObservablesActivity" />
<activity
android:name=".dragdemo.DragActivity"
android:label="DragActivity" />
<activity
android:name=".loadmoredemo.SwipeListViewExampleActivity"
android:label="SwipeListViewExampleActivity" />
<activity
android:name=".admobdemo.TestAdvancedAdmobActivity"
android:label="TestAdvancedAdmobActivity" />
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
<!--This meta-data tag is required to use Google Play Services.-->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/LauncherActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.view.ActionMode;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.ItemTouchHelper;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.OvershootInterpolator;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import com.marshalchen.ultimaterecyclerview.URLogs;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.modules.FastBinding;
import com.marshalchen.ultimaterecyclerview.itemTouchHelper.SimpleItemTouchHelperCallback;
import com.marshalchen.ultimaterecyclerview.stickyheadersrecyclerview.StickyRecyclerHeadersDecoration;
import java.util.ArrayList;
import java.util.List;
import jp.wasabeef.recyclerview.animators.*;
/**
* Created by Marshal Chen on 3/8/2016.
*/
public class LauncherActivity extends AppCompatActivity implements ActionMode.Callback {
UltimateRecyclerView ultimateRecyclerView;
SimpleAdapter simpleRecyclerViewAdapter = null;
LinearLayoutManager linearLayoutManager;
int moreNum = 2;
private ActionMode actionMode;
Toolbar toolbar;
boolean isDrag = true;
private ItemTouchHelper mItemTouchHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launcher);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ultimateRecyclerView = (UltimateRecyclerView) findViewById(R.id.ultimate_recycler_view);
ultimateRecyclerView.setHasFixedSize(false);
final List<String> stringList = new ArrayList<>();
stringList.add("111");
stringList.add("aaa");
stringList.add("222");
stringList.add("33");
stringList.add("44");
stringList.add("55");
stringList.add("66");
stringList.add("11771");
simpleRecyclerViewAdapter = new SimpleAdapter(stringList);
linearLayoutManager = new LinearLayoutManager(this);
ultimateRecyclerView.setLayoutManager(linearLayoutManager);
StickyRecyclerHeadersDecoration headersDecor = new StickyRecyclerHeadersDecoration(simpleRecyclerViewAdapter);
ultimateRecyclerView.addItemDecoration(headersDecor);
//// ultimateRecyclerView.setEmptyView(getResources().getIdentifier("empty_view","layout",getPackageName()));
// ultimateRecyclerView.showEmptyView();
// ultimateRecyclerView.enableLoadmore();
//simpleRecyclerViewAdapter.setCustomLoadMoreView(LayoutInflater.from(this)
// .inflate(R.layout.custom_bottom_progressbar, null));
ultimateRecyclerView.setLoadMoreView(LayoutInflater.from(this)
.inflate(R.layout.custom_bottom_progressbar, null));
ultimateRecyclerView.setParallaxHeader(getLayoutInflater().inflate(R.layout.parallax_recyclerview_header, ultimateRecyclerView.mRecyclerView, false));
// // ultimateRecyclerView.setNormalHeader(getLayoutInflater().inflate(R.layout.parallax_recyclerview_header, ultimateRecyclerView.mRecyclerView, false));
ultimateRecyclerView.setOnParallaxScroll(new UltimateRecyclerView.OnParallaxScroll() {
@Override
public void onParallaxScroll(float percentage, float offset, View parallax) {
Drawable c = toolbar.getBackground();
c.setAlpha(Math.round(127 + percentage * 128));
toolbar.setBackgroundDrawable(c);
}
});
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ffffff"));
ultimateRecyclerView.setDefaultOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
simpleRecyclerViewAdapter.insert(moreNum++ + " Refresh things", 0);
ultimateRecyclerView.setRefreshing(false);
// ultimateRecyclerView.scrollBy(0, -50);
linearLayoutManager.scrollToPosition(0);
// ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
// simpleRecyclerViewAdapter.notifyDataSetChanged();
}
}, 1000);
}
});
ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(simpleRecyclerViewAdapter);
mItemTouchHelper = new ItemTouchHelper(callback);
mItemTouchHelper.attachToRecyclerView(ultimateRecyclerView.mRecyclerView);
simpleRecyclerViewAdapter.setOnDragStartListener(new SimpleAdapter.OnStartDragListener() {
@Override
public void onStartDrag(RecyclerView.ViewHolder viewHolder) {
mItemTouchHelper.startDrag(viewHolder);
}
});
ultimateRecyclerView.reenableLoadmore();
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
ultimateRecyclerView.setOnLoadMoreListener(new UltimateRecyclerView.OnLoadMoreListener() {
@Override
public void loadMore(int itemsCount, final int maxLastVisiblePosition) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
simpleRecyclerViewAdapter.insert("More " + moreNum++, simpleRecyclerViewAdapter.getAdapterItemCount());
simpleRecyclerViewAdapter.insert("More " + moreNum++, simpleRecyclerViewAdapter.getAdapterItemCount());
simpleRecyclerViewAdapter.insert("More " + moreNum++, simpleRecyclerViewAdapter.getAdapterItemCount());
// linearLayoutManager.scrollToPositionWithOffset(maxLastVisiblePosition,-1);
// linearLayoutManager.scrollToPosition(maxLastVisiblePosition);
}
}, 1000);
}
});
// ultimateRecyclerView.setDefaultSwipeToRefreshColorScheme(getResources().getColor(android.R.color.holo_blue_bright),
// getResources().getColor(android.R.color.holo_green_light),
// getResources().getColor(android.R.color.holo_orange_light),
// getResources().getColor(android.R.color.holo_red_light));
// ultimateRecyclerView.setScrollViewCallbacks(new ObservableScrollViewCallbacks() {
// @Override
// public void onScrollChanged(int scrollY, boolean firstScroll, boolean dragging) {
//
// }
//
// @Override
// public void onDownMotionEvent() {
//
// }
//
// @Override
// public void onUpOrCancelMotionEvent(ObservableScrollState observableScrollState) {
//// if (observableScrollState == ObservableScrollState.DOWN) {
//// ultimateRecyclerView.showToolbar(toolbar, ultimateRecyclerView, getScreenHeight());
//// ultimateRecyclerView.showFloatingActionMenu();
//// } else if (observableScrollState == ObservableScrollState.UP) {
//// ultimateRecyclerView.hideToolbar(toolbar, ultimateRecyclerView, getScreenHeight());
//// ultimateRecyclerView.hideFloatingActionMenu();
//// } else if (observableScrollState == ObservableScrollState.STOP) {
//// }
// URLogs.d("onUpOrCancelMotionEvent");
// if (observableScrollState == ObservableScrollState.UP) {
// ultimateRecyclerView.hideToolbar(toolbar, ultimateRecyclerView, getScreenHeight());
// ultimateRecyclerView.hideFloatingActionMenu();
// } else if (observableScrollState == ObservableScrollState.DOWN) {
// ultimateRecyclerView.showToolbar(toolbar, ultimateRecyclerView, getScreenHeight());
// ultimateRecyclerView.showFloatingActionMenu();
// }
// }
// });
ultimateRecyclerView.showFloatingButtonView();
//
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> spinnerAdapter =
new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
for (Type type : Type.values()) {
spinnerAdapter.add(type.name());
}
spinner.setAdapter(spinnerAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
ultimateRecyclerView.setItemAnimator(Type.values()[position].getAnimator());
ultimateRecyclerView.getItemAnimator().setAddDuration(500);
ultimateRecyclerView.getItemAnimator().setRemoveDuration(500);
}
@Override public void onNothingSelected(AdapterView<?> parent) {
}
});
findViewById(R.id.add).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
simpleRecyclerViewAdapter.insert("newly added item", 1);
}
});
findViewById(R.id.del).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
simpleRecyclerViewAdapter.remove(1);
}
});
//
}
private void toggleSelection(int position) {
simpleRecyclerViewAdapter.toggleSelection(position);
actionMode.setTitle("Selected " + "1");
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public int getScreenHeight() {
return findViewById(android.R.id.content).getHeight();
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
URLogs.d("actionmode---" + (mode == null));
mode.getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
// return false;
}
/**
* Called to refresh an action mode's action menu whenever it is invalidated.
*
* @param mode ActionMode being prepared
* @param menu Menu used to populate action buttons
* @return true if the menu or action mode was updated, false otherwise.
*/
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// swipeToDismissTouchListener.setEnabled(false);
this.actionMode = mode;
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
this.actionMode = null;
}
//
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
FastBinding.startactivity(this, item.getItemId());
return super.onOptionsItemSelected(item);
}
enum Type {
FadeIn(new FadeInAnimator(new OvershootInterpolator(1f))),
FadeInDown(new FadeInDownAnimator(new OvershootInterpolator(1f))),
FadeInUp(new FadeInUpAnimator(new OvershootInterpolator(1f))),
FadeInLeft(new FadeInLeftAnimator(new OvershootInterpolator(1f))),
FadeInRight(new FadeInRightAnimator(new OvershootInterpolator(1f))),
Landing(new LandingAnimator(new OvershootInterpolator(1f))),
ScaleIn(new ScaleInAnimator(new OvershootInterpolator(1f))),
ScaleInTop(new ScaleInTopAnimator(new OvershootInterpolator(1f))),
ScaleInBottom(new ScaleInBottomAnimator(new OvershootInterpolator(1f))),
ScaleInLeft(new ScaleInLeftAnimator(new OvershootInterpolator(1f))),
ScaleInRight(new ScaleInRightAnimator(new OvershootInterpolator(1f))),
FlipInTopX(new FlipInTopXAnimator(new OvershootInterpolator(1f))),
FlipInBottomX(new FlipInBottomXAnimator(new OvershootInterpolator(1f))),
FlipInLeftY(new FlipInLeftYAnimator(new OvershootInterpolator(1f))),
FlipInRightY(new FlipInRightYAnimator(new OvershootInterpolator(1f))),
SlideInLeft(new SlideInLeftAnimator(new OvershootInterpolator(1f))),
SlideInRight(new SlideInRightAnimator(new OvershootInterpolator(1f))),
SlideInDown(new SlideInDownAnimator(new OvershootInterpolator(1f))),
SlideInUp(new SlideInUpAnimator(new OvershootInterpolator(1f))),
OvershootInRight(new OvershootInRightAnimator(1.0f)),
OvershootInLeft(new OvershootInLeftAnimator(1.0f));
private BaseItemAnimator mAnimator;
Type(BaseItemAnimator animator) {
mAnimator = animator;
}
public BaseItemAnimator getAnimator() {
return mAnimator;
}
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/MainList.java
================================================
package com.marshalchen.ultimaterecyclerview.demo;
import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.marshalchen.ultimaterecyclerview.demo.admobdemo.TestAdMobClassicActivity;
import com.marshalchen.ultimaterecyclerview.demo.admobdemo.TestAdvancedAdmobActivity;
import com.marshalchen.ultimaterecyclerview.demo.expandemo.TestExpandableRV;
import com.marshalchen.ultimaterecyclerview.demo.griddemo.GridLayoutRVTest;
import com.marshalchen.ultimaterecyclerview.demo.griddemo.GridTestOnlyOnePage;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.DebugLoadMoreActivity;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.DebugNoHeaderLoadMoreActivity;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.FinalEmptyViewDisplayActivity;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.FirstPageCancelLoadMore;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.LineNodeActivity;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.PullToRefreshActivity;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.SliderHeader;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.StaggerLoadMoreActivity;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.SwipeListViewExampleActivity;
import com.marshalchen.ultimaterecyclerview.demo.multiitemdemo.MultiViewTypesActivity;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* Created by hesk on 23/5/16.
*/
public class MainList extends AppCompatActivity implements AdapterView.OnItemClickListener {
ListView mList;
LinkedHashMap<String, Class> data = new LinkedHashMap<>();
ArrayList<Class> o = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mList = (ListView) findViewById(android.R.id.list);
ArrayList<String> items = new ArrayList<>();
initList();
for (Map.Entry<String, Class> entry : data.entrySet()) {
String key = entry.getKey();
items.add(key);
o.add(entry.getValue());
}
mList.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items));
mList.setOnItemClickListener(this);
}
public void initList() {
data.put("LauncherActivity", LauncherActivity.class);
data.put("Debug Grid Test", GridLayoutRVTest.class);
data.put("Issue #374, #363 enabled and disable load more off screen", GridTestOnlyOnePage.class);
data.put("Debug load more", DebugLoadMoreActivity.class);
data.put("Debug no header", DebugNoHeaderLoadMoreActivity.class);
data.put("Debug Final Empty", FinalEmptyViewDisplayActivity.class);
data.put("Debug First Page Cancel Load More", FirstPageCancelLoadMore.class);
data.put("Debug Line Node", LineNodeActivity.class);
data.put("Debug Pull to refresh", PullToRefreshActivity.class);
data.put("Debug Admob classic", TestAdMobClassicActivity.class);
data.put("Debug Admob advanced", TestAdvancedAdmobActivity.class);
data.put("Debug Slider Header", SliderHeader.class);
data.put("Debug Stagger Load More", StaggerLoadMoreActivity.class);
data.put("Debug Swipe List", SwipeListViewExampleActivity.class);
data.put("Debug expandable", TestExpandableRV.class);
data.put("Debug multi view types", MultiViewTypesActivity.class);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(this, o.get(position));
startActivity(intent);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/SimpleAdapter.java
================================================
package com.marshalchen.ultimaterecyclerview.demo;
/**
* Created by Marshal Chen on 3/8/2016.
*/
import android.graphics.Color;
import androidx.core.view.MotionEventCompat;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerviewViewHolder;
import com.marshalchen.ultimaterecyclerview.UltimateViewAdapter;
import java.security.SecureRandom;
import java.util.List;
public class SimpleAdapter extends UltimateViewAdapter {
private List<String> stringList;
public SimpleAdapter(List<String> stringList) {
this.stringList = stringList;
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
if (position < getItemCount() && (customHeaderView != null ? position <= stringList.size() : position < stringList.size()) && (customHeaderView != null ? position > 0 : true)) {
((ViewHolder) holder).textViewSample.setText(stringList.get(customHeaderView != null ? position - 1 : position));
// ((ViewHolder) holder).itemView.setActivated(selectedItems.get(position, false));
if (mDragStartListener != null) {
// ((ViewHolder) holder).imageViewSample.setOnTouchListener(new View.OnTouchListener() {
// @Override
// public boolean onTouch(View v, MotionEvent event) {
// if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
// mDragStartListener.onStartDrag(holder);
// }
// return false;
// }
// });
((ViewHolder) holder).item_view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
});
}
}
}
@Override
public int getAdapterItemCount() {
return stringList.size();
}
@Override
public RecyclerView.ViewHolder newFooterHolder(View view) {
// return new itemCommonBinder(view, false);
return new UltimateRecyclerviewViewHolder<>(view);
}
@Override
public RecyclerView.ViewHolder newHeaderHolder(View view) {
return new UltimateRecyclerviewViewHolder<>(view);
}
@Override
public UltimateRecyclerviewViewHolder onCreateViewHolder(ViewGroup parent) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.recycler_view_adapter, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
public void insert(String string, int position) {
insertInternal(stringList, string, position);
}
public void remove(int position) {
removeInternal(stringList, position);
}
public void clear() {
clearInternal(stringList);
}
public void swapPositions(int from, int to) {
swapPositions(stringList, from, to);
}
@Override
public long generateHeaderId(int position) {
// URLogs.d("position--" + position + " " + getItem(position));
if (getItem(position).length() > 0)
return getItem(position).charAt(0);
else return -1;
}
@Override
public RecyclerView.ViewHolder onCreateHeaderViewHolder(ViewGroup viewGroup) {
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.stick_header_item, viewGroup, false);
return new RecyclerView.ViewHolder(view) {
};
}
@Override
public void onBindHeaderViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
TextView textView = (TextView) viewHolder.itemView.findViewById(R.id.stick_text);
textView.setText(String.valueOf(getItem(position).charAt(0)));
// viewHolder.itemView.setBackgroundColor(Color.parseColor("#AA70DB93"));
viewHolder.itemView.setBackgroundColor(Color.parseColor("#AAffffff"));
ImageView imageView = (ImageView) viewHolder.itemView.findViewById(R.id.stick_img);
SecureRandom imgGen = new SecureRandom();
switch (imgGen.nextInt(3)) {
case 0:
imageView.setImageResource(R.drawable.jr1);
break;
case 1:
imageView.setImageResource(R.drawable.jr2);
break;
case 2:
imageView.setImageResource(R.drawable.jr3);
break;
}
}
@Override
public void onItemMove(int fromPosition, int toPosition) {
if (fromPosition > 0 && toPosition > 0) {
swapPositions(fromPosition, toPosition);
// notifyItemMoved(fromPosition, toPosition);
super.onItemMove(fromPosition, toPosition);
}
}
@Override
public void onItemDismiss(int position) {
if (position > 0) {
remove(position);
// notifyItemRemoved(position);
// notifyDataSetChanged();
super.onItemDismiss(position);
}
}
//
// private int getRandomColor() {
// SecureRandom rgen = new SecureRandom();
// return Color.HSVToColor(150, new float[]{
// rgen.nextInt(359), 1, 1
// });
// }
public void setOnDragStartListener(OnStartDragListener dragStartListener) {
mDragStartListener = dragStartListener;
}
class ViewHolder extends UltimateRecyclerviewViewHolder {
TextView textViewSample;
ImageView imageViewSample;
ProgressBar progressBarSample;
View item_view;
public ViewHolder(View itemView) {
super(itemView);
// itemView.setOnTouchListener(new SwipeDismissTouchListener(itemView, null, new SwipeDismissTouchListener.DismissCallbacks() {
// @Override
// public boolean canDismiss(Object token) {
// Logs.d("can dismiss");
// return true;
// }
//
// @Override
// public void onDismiss(View view, Object token) {
// // Logs.d("dismiss");
// remove(getPosition());
//
// }
// }));
textViewSample = (TextView) itemView.findViewById(
R.id.textview);
imageViewSample = (ImageView) itemView.findViewById(R.id.imageview);
progressBarSample = (ProgressBar) itemView.findViewById(R.id.progressbar);
progressBarSample.setVisibility(View.GONE);
item_view = itemView.findViewById(R.id.itemview);
}
@Override
public void onItemSelected() {
itemView.setBackgroundColor(Color.LTGRAY);
}
@Override
public void onItemClear() {
itemView.setBackgroundColor(0);
}
}
public String getItem(int position) {
if (customHeaderView != null)
position--;
// URLogs.d("position----"+position);
if (position >= 0 && position < stringList.size())
return stringList.get(position);
else return "";
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/SingleItemCommonLayout.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.admobdemo;
import android.graphics.Color;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.quickAdapter.AdItemHolder;
/**
* Created by hesk on 24/2/16.
*/
public class SingleItemCommonLayout extends AdItemHolder {
public static final int layout = R.layout.rv_item_linear;
public TextView textViewSample;
public ImageView imageViewSample;
public ProgressBar progressBarSample;
public RelativeLayout item_view;
public SingleItemCommonLayout(View itemView, int type) {
super(itemView, type);
}
@Override
protected void bindNormal(View view) {
textViewSample = (TextView) itemView.findViewById(R.id.str_textview_holder);
imageViewSample = (ImageView) itemView.findViewById(R.id.str_image_holder);
progressBarSample = (ProgressBar) itemView.findViewById(R.id.str_progress_holder);
item_view = (RelativeLayout) itemView.findViewById(R.id.str_item_view);
}
@Override
protected void bindAd(View view) {
}
@Override
public void onItemSelected() {
itemView.setBackgroundColor(Color.LTGRAY);
}
@Override
public void onItemClear() {
itemView.setBackgroundColor(0);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/SingleItemHolder.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.admobdemo;
import androidx.annotation.NonNull;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.marshalchen.ultimaterecyclerview.URLogs;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.quickAdapter.AdItemHolder;
/**
* Created by hesk on 24/2/16.
*/
public class SingleItemHolder extends AdItemHolder implements
View.OnClickListener, View.OnLongClickListener {
public TextView textViewSample, num;
public ImageView imageViewSample;
public ProgressBar progressBarSample;
public SingleItemHolder(View itemView, int type) {
super(itemView, type);
}
@Override
protected void bindNormal(View view) {
textViewSample = (TextView) itemView.findViewById(R.id.textview);
num = (TextView) itemView.findViewById(R.id.numb_coun);
imageViewSample = (ImageView) itemView.findViewById(R.id.imageview);
progressBarSample = (ProgressBar) itemView.findViewById(R.id.progressbar);
progressBarSample.setVisibility(View.GONE);
}
@Override
protected void bindAd(View view) {
}
@Override
public void onClick(@NonNull View v) {
URLogs.d(textViewSample.getText() + " clicked!");
}
@Override
public boolean onLongClick(@NonNull View v) {
URLogs.d(textViewSample.getText() + " long clicked!");
return true;
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/TestAdMobClassicActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.admobdemo;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.appcompat.widget.Toolbar;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.FastBinding;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import java.util.ArrayList;
/**
* Created by hesk on 20/5/15.
*/
public class TestAdMobClassicActivity extends AppCompatActivity {
private UltimateRecyclerView ultimateRecyclerView;
private ZeroStickyAdvertistmentAdapter simpleRecyclerViewAdapter = null;
private LinearLayoutManager linearLayoutManager;
private int moreNum = 2;
private ActionMode actionMode;
private Toolbar toolbar;
private boolean isDrag = true;
private boolean admob_test_mode = false;
private AdView createadmob() {
AdView mAdView = new AdView(this);
mAdView.setAdSize(AdSize.MEDIUM_RECTANGLE);
mAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
mAdView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
// Create an ad request.
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
if (admob_test_mode)
// Optionally populate the ad request builder.
adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);
// Start loading the ad.
mAdView.loadAd(adRequestBuilder.build());
return mAdView;
}
private void enableSwipe() {
}
private void enableRefresh() {
ultimateRecyclerView.setDefaultOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.setRefreshing(false);
}
}, 1000);
}
});
}
private void enableLoadMore() {
ultimateRecyclerView.setLoadMoreView(R.layout.custom_bottom_progressbar);
ultimateRecyclerView.setOnLoadMoreListener(new UltimateRecyclerView.OnLoadMoreListener() {
@Override
public void loadMore(final int itemsCount, final int maxLastVisiblePosition) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
ArrayList<String> li = new ArrayList<String>();
li.add("No. ====" + itemsCount + "=======");
SampleDataboxset.genItems(10, li);
simpleRecyclerViewAdapter.insert(li);
}
}, 1000);
}
});
}
private void enableEmptyView() {
ultimateRecyclerView.setEmptyView(
R.layout.empty_view,
UltimateRecyclerView.EMPTY_CLEAR_ALL,
UltimateRecyclerView.STARTWITH_ONLINE_ITEMS);
}
private void enableClick() {
}
private void impleAddDrop() {
findViewById(R.id.add).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
simpleRecyclerViewAdapter.insert(SampleDataboxset.newListFromGen(2));
}
});
findViewById(R.id.del).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
simpleRecyclerViewAdapter.removeAt(3);
}
});
findViewById(R.id.toggle).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.showEmptyView();
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loadmore);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ultimateRecyclerView = (UltimateRecyclerView) findViewById(R.id.ultimate_recycler_view);
ultimateRecyclerView.setHasFixedSize(false);
/**
* wokring example 1 implementation of Admob banner with static Adview
*/
// simpleRecyclerViewAdapter = new admobdfpadapter(createadmob(), 5, stringList);
/**
* working example 2 with multiple called Adviews
*/
simpleRecyclerViewAdapter = new ZeroStickyAdvertistmentAdapter(createadmob(), SampleDataboxset.newListFromGen());
linearLayoutManager = new LinearLayoutManager(this);
ultimateRecyclerView.setLayoutManager(linearLayoutManager);
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
ultimateRecyclerView.setItemViewCacheSize(3);
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#f5f5ff"));
enableEmptyView();
enableRefresh();
enableLoadMore();
enableClick();
impleAddDrop();
}
private void toggleSelection(int position) {
simpleRecyclerViewAdapter.toggleSelection(position);
actionMode.setTitle("Selected " + "1");
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public int getScreenHeight() {
return findViewById(android.R.id.content).getHeight();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
FastBinding.startactivity(this, item.getItemId());
return super.onOptionsItemSelected(item);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/TestAdvancedAdmobActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.admobdemo;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.appcompat.widget.Toolbar;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.RelativeLayout;
import android.widget.Spinner;
import android.widget.TextView;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.marshalchen.ultimaterecyclerview.quickAdapter.AdmobAdapter;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import com.marshalchen.ultimaterecyclerview.quickAdapter.easyRegularAdapter;
import com.marshalchen.ultimaterecyclerview.quickAdapter.BiAdAdapterSwitcher;
import com.marshalchen.ultimaterecyclerview.ui.AdGoogleDisplaySupport;
import java.util.ArrayList;
import java.util.List;
/**
* Created by hesk on 4/8/15.
*/
public class TestAdvancedAdmobActivity extends AppCompatActivity {
private UltimateRecyclerView ultimateRecyclerView;
private boolean admob_test_mode = false;
private LinearLayoutManager linearLayoutManager;
private Toolbar toolbar;
private BiAdAdapterSwitcher bi_sw;
public static class adap extends AdmobAdapter<RelativeLayout, String, SingleItemHolder> {
public adap(RelativeLayout v, List<String> L) {
super(v, false, 13, L, null);
}
@Override
protected int getNormalLayoutResId() {
return getIdRV();
}
@Override
protected SingleItemHolder newViewHolder(View mview) {
return new SingleItemHolder(mview, VIEW_TYPES.NORMAL);
}
/**
* binding normal view holder
*
* @param holder holder class
* @param data data
* @param position position
*/
@Override
protected void withBindHolder(SingleItemHolder holder, String data, int position) {
bindthisInhere(holder, data, position);
}
}
public static class regular extends easyRegularAdapter<String, SingleItemHolder> {
public regular(List list) {
super(list);
}
@Override
protected int getNormalLayoutResId() {
return getIdRV();
}
@Override
protected SingleItemHolder newViewHolder(View view) {
return new SingleItemHolder(view, VIEW_TYPES.NORMAL);
}
@Override
protected void withBindHolder(SingleItemHolder holderm, String data, int position) {
bindthisInhere(holderm, data, position);
}
}
private static void bindthisInhere(SingleItemHolder d, String data, int pos) {
d.textViewSample.setText(data);
d.num.setText("@:" + pos);
}
private static int getIdRV() {
return R.layout.countable_rv_adp;
}
private RelativeLayout createadmob() {
AdSize adSize = AdSize.SMART_BANNER;
DisplayMetrics dm = getResources().getDisplayMetrics();
double density = dm.density * 160;
double x = Math.pow(dm.widthPixels / density, 2);
double y = Math.pow(dm.heightPixels / density, 2);
double screenInches = Math.sqrt(x + y);
if (screenInches > 8) { // > 728 X 90
adSize = AdSize.LEADERBOARD;
} else if (screenInches > 6) { // > 468 X 60
adSize = AdSize.MEDIUM_RECTANGLE;
} else { // > 320 X 50
adSize = AdSize.BANNER;
}
adSize = AdSize.MEDIUM_RECTANGLE;
final AdView mAdView = new AdView(this);
mAdView.setAdSize(adSize);
mAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// Create an ad request.
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
if (admob_test_mode)
// Optionally populate the ad request builder.
adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);
// Start loading the ad.
mAdView.loadAd(adRequestBuilder.build());
DisplayMetrics displaymetrics = new DisplayMetrics();
final RelativeLayout layout = AdGoogleDisplaySupport.initialSupport(this, displaymetrics);
final double ratio = AdGoogleDisplaySupport.ratioMatching(displaymetrics);
final int ad_height = AdGoogleDisplaySupport.defaultHeight(displaymetrics);
AdGoogleDisplaySupport.panelAdjust(mAdView, (int) (ad_height * ratio));
// get display info
/* G.display_w = displayMetrics.widthPixels;
G.display_h = displayMetrics.heightPixels;
G.scale = Math.max(G.display_w/1280.0f, G.display_h/800.0f);*/
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
int h = mAdView.getLayoutParams().height;
AdGoogleDisplaySupport.scale(mAdView, ratio);
AdGoogleDisplaySupport.panelAdjust(mAdView, (int) (h * ratio));
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
}
});
layout.addView(mAdView);
return layout;
}
/**
* example 1 implementation of the switch view
*/
private BiAdAdapterSwitcher imple_switch_view(final UltimateRecyclerView rv) {
final adap adp1 = new adap(createadmob(), new ArrayList<String>());
final regular adp2 = new regular(new ArrayList<String>());
final BiAdAdapterSwitcher switchable = new BiAdAdapterSwitcher(rv, adp2, adp1);
return switchable;
}
private Handler osh = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loadmore);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ultimateRecyclerView = (UltimateRecyclerView) findViewById(R.id.ultimate_recycler_view);
ultimateRecyclerView.setHasFixedSize(false);
linearLayoutManager = new LinearLayoutManager(this);
ultimateRecyclerView.setLayoutManager(linearLayoutManager);
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ffffff"));
/**
* example 2 implementation enhancement of list view
*/
bi_sw = imple_switch_view(ultimateRecyclerView)
.onEnableRefresh(100)
.EnableAutoDisableLoadMoreByMaxPages()
.onEnableLoadmore(R.layout.custom_bottom_progressbar, 2000, new BiAdAdapterSwitcher.onLoadMore() {
@Override
public boolean request_start(int current_page_no, int itemsCount, int maxLastVisiblePosition, final BiAdAdapterSwitcher bi, boolean refresh) {
osh.postDelayed(new Runnable() {
@Override
public void run() {
bi.load_more_data(SampleDataboxset.newList(5));
//test the max pages
bi.setMaxPages(10);
}
}, 2000);
return true;
}
});
TextView b = (TextView) findViewById(R.id.del);
b.setText("with Ad");
TextView a = (TextView) findViewById(R.id.add);
a.setText("with out Ad");
a.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/**
* example 2 implementation enhancement of list view
* without advertisement configurations
*/
bi_sw.init(false);
}
});
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/**
* example 2 implementation enhancement of list view
* with advertisement configuration
*/
bi_sw.init(true);
}
});
setup_spinner();
}
private void remove_all_items() {
bi_sw.removeALL();
}
private void setup_spinner() {
final Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setPrompt("test functions");
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
spinnerAdapter.add("noth");
spinnerAdapter.add("remove all");
spinner.setAdapter(spinnerAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// ultimateRecyclerView.setItemAnimator(Type.values()[position].getAnimator());
// ultimateRecyclerView.getItemAnimator().setAddDuration(300);
// ultimateRecyclerView.getItemAnimator().setRemoveDuration(300);
if (position == 1) {
remove_all_items();
spinner.setSelection(0, true);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/ZeroStickyAdvertistmentAdapter.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.admobdemo;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import com.google.android.gms.ads.AdView;
import com.marshalchen.ultimaterecyclerview.quickAdapter.AdmobAdapter;
import java.util.List;
/**
* Created by hesk on 20/5/15.
*/
public class ZeroStickyAdvertistmentAdapter extends AdmobAdapter<AdView, String, SingleItemCommonLayout> {
public ZeroStickyAdvertistmentAdapter(AdView v, List<String> f) {
super(v, false, 12, f);
}
public ZeroStickyAdvertistmentAdapter(AdView v, int e, List<String> f, AdviewListener listener) {
super(v, false, e, f, listener);
}
@Override
protected int getNormalLayoutResId() {
return SingleItemCommonLayout.layout;
}
@Override
protected SingleItemCommonLayout newViewHolder(View mview) {
return new SingleItemCommonLayout(mview, VIEW_TYPES.NORMAL);
}
/**
* binding normal view holder
*
* @param holder holder class
* @param data data
* @param position position
*/
@Override
protected void withBindHolder(SingleItemCommonLayout holder, String data, int position) {
holder.textViewSample.setText(data);
}
@Override
public void onBindHeaderViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
// TextView textView = (TextView) viewHolder.itemView;
// textView.setText(String.valueOf(getItem(i).charAt(0)));
// viewHolder.itemView.setBackgroundColor(Color.parseColor("#AA70DB93"));
}
/*
@Override
public long getHeaderId(int position) {
if (position == 0) {
return -1;
} else {
return getItem(position).charAt(0);
}
}
*/
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/dragdemo/DragActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.dragdemo;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.appcompat.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.FastBinding;
import java.util.ArrayList;
import java.util.List;
public class DragActivity extends AppCompatActivity {
RecyclerView ultimateRecyclerView;
DragAdatper simpleRecyclerViewAdapter = null;
LinearLayoutManager linearLayoutManager;
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drag);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ultimateRecyclerView = (RecyclerView) findViewById(R.id.ultimate_recycler_view);
ultimateRecyclerView.setHasFixedSize(false);
List<String> stringList = new ArrayList<>();
stringList.add("aa");
stringList.add("bb");
stringList.add("cc");
stringList.add("dd");
List<Integer> data = new ArrayList<>();
data.add(1);
data.add(2);
data.add(3);
data.add(4);
data.add(15);
simpleRecyclerViewAdapter = new DragAdatper(ultimateRecyclerView, data);
linearLayoutManager = new LinearLayoutManager(this);
ultimateRecyclerView.setLayoutManager(linearLayoutManager);
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
/*
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> spinnerAdapter =
new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
for (Type type : Type.values()) {
spinnerAdapter.add(type.name());
}
spinner.setAdapter(spinnerAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
ultimateRecyclerView.setItemAnimator(Type.values()[position].getAnimator());
ultimateRecyclerView.getItemAnimator().setAddDuration(300);
ultimateRecyclerView.getItemAnimator().setRemoveDuration(300);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
*/
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
FastBinding.startactivity(this, item.getItemId());
return super.onOptionsItemSelected(item);
}
/* enum Type {
FadeIn(new FadeInAnimator()),
FadeInDown(new FadeInDownAnimator()),
FadeInUp(new FadeInUpAnimator()),
FadeInLeft(new FadeInLeftAnimator()),
FadeInRight(new FadeInRightAnimator()),
Landing(new LandingAnimator()),
ScaleIn(new ScaleInAnimator()),
ScaleInTop(new ScaleInTopAnimator()),
ScaleInBottom(new ScaleInBottomAnimator()),
ScaleInLeft(new ScaleInLeftAnimator()),
ScaleInRight(new ScaleInRightAnimator()),
FlipInTopX(new FlipInTopXAnimator()),
FlipInBottomX(new FlipInBottomXAnimator()),
FlipInLeftY(new FlipInLeftYAnimator()),
FlipInRightY(new FlipInRightYAnimator()),
SlideInLeft(new SlideInLeftAnimator()),
SlideInRight(new SlideInRightAnimator()),
SlideInDown(new SlideInDownAnimator()),
SlideInUp(new SlideInUpAnimator()),
OvershootInRight(new OvershootInRightAnimator()),
OvershootInLeft(new OvershootInLeftAnimator());
private BaseItemAnimator mAnimator;
Type(BaseItemAnimator animator) {
mAnimator = animator;
}
public BaseItemAnimator getAnimator() {
return mAnimator;
}
}
*/
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/dragdemo/DragAdatper.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.dragdemo;
import android.graphics.Point;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.marshalchen.ultimaterecyclerview.URLogs;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.dragsortadapter.DragSortAdapter;
import com.marshalchen.ultimaterecyclerview.dragsortadapter.NoForegroundShadowBuilder;
import java.util.List;
public class DragAdatper extends DragSortAdapter<DragAdatper.MainViewHolder> {
private List<Integer> stringList;
public DragAdatper(RecyclerView recyclerView, List<Integer> data) {
super(recyclerView);
this.stringList = data;
}
@Override public MainViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.rv_item_linear, parent, false);
MainViewHolder holder = new MainViewHolder(this, view);
view.setOnClickListener(holder);
view.setOnLongClickListener(holder);
return holder;
}
@Override public void onBindViewHolder(final MainViewHolder holder, final int position) {
Integer itemId = stringList.get(position);
holder.textViewSample.setText(itemId + " ");
// NOTE: check for getDraggingId() match to set an "invisible space" while dragging
// holder.container.setVisibility(getDraggingId() == itemId ? View.INVISIBLE : View.VISIBLE);
// holder.container.postInvalidate();
}
@Override public long getItemId(int position) {
// URLogs.d("hashcode---"+stringList.get(position).hashCode()+" "+position);
return stringList.get(position).hashCode();
}
protected static int convertToOriginalPosition(int position, int dragInitial, int dragCurrent) {
if (dragInitial < 0 || dragCurrent < 0) {
// not dragging
return position;
} else {
if ((dragInitial == dragCurrent) ||
((position < dragInitial) && (position < dragCurrent)) ||
(position > dragInitial) && (position > dragCurrent)) {
return position;
} else if (dragCurrent < dragInitial) {
if (position == dragCurrent) {
return dragInitial;
} else {
return position - 1;
}
} else { // if (dragCurrent > dragInitial)
if (position == dragCurrent) {
return dragInitial;
} else {
return position + 1;
}
}
}
}
@Override public int getItemCount() {
return stringList.size();
}
@Override public int getPositionForId(long id) {
return stringList.indexOf((int) id);
}
@Override public boolean move(int fromPosition, int toPosition) {
stringList.add(toPosition, stringList.remove(fromPosition));
return true;
}
static class MainViewHolder extends DragSortAdapter.ViewHolder implements
View.OnClickListener, View.OnLongClickListener {
TextView textViewSample;
ImageView imageViewSample;
ProgressBar progressBarSample;
public MainViewHolder(DragSortAdapter adapter, View itemView) {
super(adapter, itemView);
textViewSample = (TextView) itemView.findViewById(
R.id.textview);
imageViewSample = (ImageView) itemView.findViewById(R.id.imageview);
progressBarSample = (ProgressBar) itemView.findViewById(R.id.progressbar);
progressBarSample.setVisibility(View.GONE);
}
@Override public void onClick(@NonNull View v) {
URLogs.d(textViewSample.getText() + " clicked!");
}
@Override public boolean onLongClick(@NonNull View v) {
startDrag();
return true;
}
@Override public View.DragShadowBuilder getShadowBuilder(View itemView, Point touchPoint) {
return new NoForegroundShadowBuilder(itemView, touchPoint);
}
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/expandemo/Category.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.expandemo;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.marshalchen.ultimaterecyclerview.expanx.SmartItem;
import com.marshalchen.ultimaterecyclerview.expanx.Util.easyTemplateParent;
/**
* Created by hesk on 16/7/15.
*/
public class Category extends easyTemplateParent<SmartItem, RelativeLayout, TextView> {
public Category(View itemView) {
super(itemView);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/expandemo/ExpCustomAdapter.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.expandemo;
import android.content.Context;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerviewViewHolder;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.expanx.SmartItem;
import com.marshalchen.ultimaterecyclerview.expanx.Util.DataUtil;
import com.marshalchen.ultimaterecyclerview.expanx.customizedAdapter;
import java.util.ArrayList;
import java.util.List;
/**
* Created by hesk on 16/7/15.
*/
public class ExpCustomAdapter extends customizedAdapter<Category, SubCategory> {
public ExpCustomAdapter(Context context) {
super(context);
}
public static List<SmartItem> getPreCodeMenu(String[] a, String[] b, String[] c) {
List<SmartItem> e = new ArrayList<>();
e.add(SmartItem.parent("hones", "open", DataUtil.getSmallList(a)));
e.add(SmartItem.parent("XXX", "open", DataUtil.getSmallList(b)));
e.add(SmartItem.parent("RIVER", "open", DataUtil.getSmallList(c)));
return e;
}
/**
* please do work on this id the custom object is true
*
* @param parentview the inflated view
* @return the actual parent holder
*/
@Override
protected Category iniCustomParentHolder(View parentview) {
return new Category(parentview);
}
/**
* please do work on this if the custom object is true
*
* @param childview the inflated view
* @return the actual child holder
*/
@Override
protected SubCategory iniCustomChildHolder(View childview) {
return new SubCategory(childview);
}
@Override
protected int getLayoutResParent() {
return R.layout.exp_parent;
}
@Override
protected int getLayoutResChild() {
return R.layout.exp_child;
}
@Override
protected List<SmartItem> getChildrenByPath(String path, int depth, int position) {
return null;
}
@Override
public RecyclerView.ViewHolder newFooterHolder(View view) {
return new UltimateRecyclerviewViewHolder(view);
}
@Override
public RecyclerView.ViewHolder newHeaderHolder(View view) {
return new UltimateRecyclerviewViewHolder(view);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/expandemo/SubCategory.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.expandemo;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.marshalchen.ultimaterecyclerview.expanx.SmartItem;
import com.marshalchen.ultimaterecyclerview.expanx.Util.easyTemplateChild;
/**
* Created by hesk on 16/7/15.
*/
public class SubCategory extends easyTemplateChild<SmartItem, TextView, RelativeLayout> {
public SubCategory(View itemView) {
super(itemView);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/expandemo/TestExpandableRV.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.expandemo;
import android.graphics.Color;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.appcompat.widget.Toolbar;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuItem;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.FastBinding;
/**
* Created by hesk on 16/7/15.
*/
public class TestExpandableRV extends AppCompatActivity {
private static String[] sampledatagroup1 = {
"peter", "http://google",
"billy", "http://google",
"lisa", "http://google",
"visa", "http://google"
};
private static String[] sampledatagroup2 = {
"mother", "http://google",
"father", "http://google",
"son", "http://google",
"holy spirit", "http://google",
"god the son", "http://google"
};
private static String[] sampledatagroup3 = {
"SONY", "http://google",
"LG", "http://google",
"SAMSUNG", "http://google",
"XIAOMI", "http://google",
"HTC", "http://google"
};
private UltimateRecyclerView ultimateRecyclerView;
private ExpCustomAdapter simpleRecyclerViewAdapter = null;
private LinearLayoutManager linearLayoutManager;
private int moreNum = 2;
private ActionMode actionMode;
private Toolbar toolbar;
boolean isDrag = true;
private boolean admob_test_mode = false;
private void enableSwipe() {
}
private void addExpandableFeatures() {
ultimateRecyclerView.getItemAnimator().setAddDuration(100);
ultimateRecyclerView.getItemAnimator().setRemoveDuration(100);
ultimateRecyclerView.getItemAnimator().setMoveDuration(200);
ultimateRecyclerView.getItemAnimator().setChangeDuration(100);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loadmore);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ultimateRecyclerView = (UltimateRecyclerView) findViewById(R.id.ultimate_recycler_view);
ultimateRecyclerView.setHasFixedSize(false);
/**
* this is the adapter for the expanx
*/
simpleRecyclerViewAdapter = new ExpCustomAdapter(this);
simpleRecyclerViewAdapter.addAll(ExpCustomAdapter.getPreCodeMenu(sampledatagroup1, sampledatagroup2, sampledatagroup3), 0);
linearLayoutManager = new LinearLayoutManager(this);
ultimateRecyclerView.setLayoutManager(linearLayoutManager);
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ffffff"));
addExpandableFeatures();
}
private void toggleSelection(int position) {
simpleRecyclerViewAdapter.toggleSelection(position);
actionMode.setTitle("Selected " + "1");
}
public int getScreenHeight() {
return findViewById(android.R.id.content).getHeight();
}
//
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
FastBinding.startactivity(this, item.getItemId());
return super.onOptionsItemSelected(item);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/griddemo/GridJRAdapter.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.griddemo;
import android.view.View;
import android.view.ViewGroup;
import com.marshalchen.ultimaterecyclerview.UltimateGridLayoutAdapter;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerviewViewHolder;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.JRitem;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.itemGridCellBinder;
import java.util.List;
/**
* Created by hesk on 3/2/16.
*/
public class GridJRAdapter extends UltimateGridLayoutAdapter<JRitem, itemGridCellBinder> {
public GridJRAdapter(List<JRitem> hand) {
super(hand);
}
/**
* the layout id for the normal data
*
* @return the ID
*/
@Override
protected int getNormalLayoutResId() {
return itemGridCellBinder.layout;
}
/**
* this is the Normal View Holder initiation
*
* @param view view
* @return holder
*/
@Override
protected itemGridCellBinder newViewHolder(View view) {
return new itemGridCellBinder(view, true);
}
@Override
public long generateHeaderId(int position) {
return 0;
}
/**
* binding normal view holder
*
* @param holder holder class
* @param data data
* @param position position
*/
@Override
protected void withBindHolder(itemGridCellBinder holder, JRitem data, int position) {
}
@Override
protected void bindNormal(itemGridCellBinder b, JRitem jRitem, int position) {
b.textViewSample.setText(jRitem.train_name);
b.imageViewSample.setImageResource(jRitem.photo_id);
}
@Override
public UltimateRecyclerviewViewHolder onCreateHeaderViewHolder(ViewGroup parent) {
return new UltimateRecyclerviewViewHolder(parent);
}
@Override
public itemGridCellBinder newFooterHolder(View view) {
return new itemGridCellBinder(view, false);
}
@Override
public itemGridCellBinder newHeaderHolder(View view) {
return new itemGridCellBinder(view, false);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/griddemo/GridLayoutRVTest.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.griddemo;
import android.os.Bundle;
import android.os.Handler;
import androidx.annotation.LayoutRes;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.ItemTouchHelper;
import android.util.DisplayMetrics;
import android.view.ActionMode;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.JRitem;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import com.marshalchen.ultimaterecyclerview.grid.BasicGridLayoutManager;
import java.util.ArrayList;
import java.util.List;
/**
* Created by hesk on 24/8/15.
*/
public class GridLayoutRVTest extends AppCompatActivity {
protected UltimateRecyclerView listuv;
protected GridJRAdapter mGridAdapter = null;
private BasicGridLayoutManager mGridLayoutManager;
private int moreNum = 2, columns = 2;
private ActionMode actionMode;
private Toolbar mToolbar;
boolean isDrag = true;
private ItemTouchHelper mItemTouchHelper;
public static final String TAG = "GLV";
@LayoutRes
protected int getMainLayout() {
return R.layout.floatingbutton_grid_layout;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getMainLayout());
mToolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(true);
listuv = (UltimateRecyclerView) findViewById(R.id.ultimate_recycler_view);
mGridAdapter = new GridJRAdapter(getJRList());
mGridAdapter.setSpanColumns(columns);
mGridLayoutManager = new BasicGridLayoutManager(this, columns, mGridAdapter);
listuv.setLayoutManager(mGridLayoutManager);
listuv.setHasFixedSize(true);
listuv.setSaveEnabled(true);
listuv.setClipToPadding(false);
// mGridAdapter.setCustomLoadMoreView(LayoutInflater.from(this).inflate(R.layout.custom_bottom_progressbar, null));
listuv.setNormalHeader(setupHeaderView());
final Handler f = new Handler();
listuv.setOnLoadMoreListener(new UltimateRecyclerView.OnLoadMoreListener() {
@Override
public void loadMore(int itemsCount, int maxLastVisiblePosition) {
// Log.d(TAG, itemsCount + " :: " + itemsCount);
f.postDelayed(new Runnable() {
@Override
public void run() {
mGridAdapter.insert(SampleDataboxset.genJRList(5));
afterAdd();
}
}, 2000);
}
});
// listuv.enableLoadmore();
// listuv.disableLoadmore();
listuv.setLoadMoreView(R.layout.custom_bottom_progressbar);
listuv.setAdapter(mGridAdapter);
listuv.setItemAnimator(new DefaultItemAnimator());
harness_control();
}
protected void afterAdd() {
}
private List<JRitem> getJRList() {
List<JRitem> team = new ArrayList<>();
//you can make your own test for starting-zero-data
// team = SampleDataboxset.genJRList(2);
return team;
}
private void dimension_columns() {
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
float density = getResources().getDisplayMetrics().density;
float dpWidth = outMetrics.widthPixels / density;
columns = Math.round(dpWidth / 300);
}
private View setupHeaderView() {
View custom_header = LayoutInflater.from(this).inflate(R.layout.header_love, null, false);
return custom_header;
}
private void harness_control() {
findViewById(R.id.add).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mGridAdapter.insert(SampleDataboxset.genJRList(4));
}
});
findViewById(R.id.del).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mGridAdapter.removeLast();
}
});
findViewById(R.id.delall).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mGridAdapter.removeAll();
}
});
findViewById(R.id.add_one).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mGridAdapter.insertFirst(SampleDataboxset.genJRSingle());
}
});
findViewById(R.id.refresh).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listuv.reenableLoadmore();
}
});
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/griddemo/GridStringAdapter.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.griddemo;
import androidx.recyclerview.widget.GridLayoutManager;
import android.view.View;
import android.view.ViewGroup;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerviewViewHolder;
import com.marshalchen.ultimaterecyclerview.UltimateGridLayoutAdapter;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.itemGridCellBinder;
import java.util.List;
/**
* Created by hesk on 24/8/15.
*/
public class GridStringAdapter extends UltimateGridLayoutAdapter<String, itemGridCellBinder> {
public GridStringAdapter(List<String> hand) {
super(hand);
}
/**
* the layout id for the normal data
*
* @return the ID
*/
@Override
protected int getNormalLayoutResId() {
return R.layout.grid_item;
}
/**
* this is the Normal View Holder initiation
*
* @param view view
* @return holder
*/
@Override
protected itemGridCellBinder newViewHolder(View view) {
return new itemGridCellBinder(view, true);
}
@Override
public itemGridCellBinder newFooterHolder(View view) {
return new itemGridCellBinder(view, false);
}
@Override
public itemGridCellBinder newHeaderHolder(View view) {
return new itemGridCellBinder(view, false);
}
@Override
public long generateHeaderId(int position) {
return 0;
}
/**
* binding normal view holder
*
* @param holder holder class
* @param data data
* @param position position
*/
@Override
protected void withBindHolder(itemGridCellBinder holder, String data, int position) {
}
@Override
public UltimateRecyclerviewViewHolder onCreateHeaderViewHolder(ViewGroup parent) {
return new UltimateRecyclerviewViewHolder(parent);
}
@Override
protected void bindNormal(itemGridCellBinder b, String s, int position) {
b.textViewSample.setText(s);
b.imageViewSample.setImageResource(SampleDataboxset.getGirlImageRandom());
}
//https://gist.github.com/yqritc/ccca77dc42f2364777e1
public static class GridSpan extends GridLayoutManager.SpanSizeLookup {
final private int columns;
final private int intervalRow;
final private GridStringAdapter mGridAdapter;
public GridSpan(int col, int intervalRow, GridStringAdapter mGridAdapter) {
this.columns = col;
this.intervalRow = intervalRow;
this.mGridAdapter = mGridAdapter;
}
/**
* Returns the number of span occupied by the item at <code>position</code>.
*
* @param position The adapter position of the item
* @return The number of spans occupied by the item at the provided position
*/
@Override
public int getSpanSize(int position) {
if (position == mGridAdapter.getAdapterItemCount()) {
return columns;
} else {
int mIntervalHeader = columns * intervalRow;
int h = position % mIntervalHeader == 0 ? columns : 1;
return h;
}
}
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/griddemo/GridTestOnlyOnePage.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.griddemo;
import android.os.Bundle;
import android.os.Handler;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
/**
* This is the fix the off screen detection issue
* Created by hesk on 23/5/16.
*/
public class GridTestOnlyOnePage extends GridLayoutRVTest {
Handler poster = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
poster.postDelayed(new Runnable() {
@Override
public void run() {
listuv.reenableLoadmore();
mGridAdapter.insert(SampleDataboxset.genJRList(5));
}
}, 1000);
}
@Override
protected void afterAdd() {
listuv.disableLoadmore();
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/BasicFunctions.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import androidx.appcompat.widget.Toolbar;
import android.view.ActionMode;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import com.marshalchen.ultimaterecyclerview.DragDropTouchListener;
import com.marshalchen.ultimaterecyclerview.ItemTouchListenerAdapter;
import com.marshalchen.ultimaterecyclerview.ObservableScrollState;
import com.marshalchen.ultimaterecyclerview.ObservableScrollViewCallbacks;
import com.marshalchen.ultimaterecyclerview.URLogs;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.layoutmanagers.ClassicSpanGridLayoutManager;
import com.marshalchen.ultimaterecyclerview.quickAdapter.easyRegularAdapter;
import com.marshalchen.ultimaterecyclerview.ui.AnimationType;
import com.marshalchen.ultimaterecyclerview.layoutmanagers.ScrollSmoothLineaerLayoutManager;
/**
* Created by hesk on 19/2/16.
*/
public abstract class BasicFunctions extends AppCompatActivity {
protected UltimateRecyclerView ultimateRecyclerView;
protected void enableParallaxHeader() {
ultimateRecyclerView.setParallaxHeader(getLayoutInflater().inflate(R.layout.parallax_recyclerview_header, ultimateRecyclerView.mRecyclerView, false));
ultimateRecyclerView.setOnParallaxScroll(new UltimateRecyclerView.OnParallaxScroll() {
@Override
public void onParallaxScroll(float percentage, float offset, View parallax) {
Drawable c = toolbar.getBackground();
c.setAlpha(Math.round(127 + percentage * 128));
toolbar.setBackgroundDrawable(c);
}
});
}
protected void enableLoadMore() {
// StickyRecyclerHeadersDecoration headersDecor = new StickyRecyclerHeadersDecoration(simpleRecyclerViewAdapter);
// ultimateRecyclerView.addItemDecoration(headersDecor);
ultimateRecyclerView.setLoadMoreView(R.layout.custom_bottom_progressbar);
ultimateRecyclerView.setOnLoadMoreListener(new UltimateRecyclerView.OnLoadMoreListener() {
@Override
public void loadMore(int itemsCount, final int maxLastVisiblePosition) {
status_progress = true;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
onLoadmore();
status_progress = false;
}
}, 500);
}
});
}
protected abstract void onLoadmore();
protected abstract void onFireRefresh();
protected void enableRefresh() {
// ultimateRecyclerView.setDefaultOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
// @Override
// public void onRefresh() {
// new Handler().postDelayed(new Runnable() {
// @Override
// public void run() {
// onFireRefresh();
// }
// }, 1000);
// }
// });
// ultimateRecyclerView.setDefaultSwipeToRefreshColorScheme(getResources().getColor(android.R.color.holo_blue_bright),
// getResources().getColor(android.R.color.holo_green_light),
// getResources().getColor(android.R.color.holo_orange_light),
// getResources().getColor(android.R.color.holo_red_light));
}
protected final void configStaggerLayoutManager(UltimateRecyclerView rv, easyRegularAdapter ad) {
StaggeredGridLayoutManager gaggeredGridLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL);
rv.setLayoutManager(gaggeredGridLayoutManager);
}
protected final void configGridLayoutManager(UltimateRecyclerView rv, easyRegularAdapter ad) {
final ClassicSpanGridLayoutManager mgm = new ClassicSpanGridLayoutManager(this, 2, ad);
rv.setLayoutManager(mgm);
}
protected final void configLinearLayoutManager(UltimateRecyclerView rv) {
final ScrollSmoothLineaerLayoutManager mgm = new ScrollSmoothLineaerLayoutManager(this, LinearLayoutManager.VERTICAL, false, 300);
rv.setLayoutManager(mgm);
}
protected final void enableScrollControl() {
ultimateRecyclerView.setScrollViewCallbacks(new ObservableScrollViewCallbacks() {
@Override
public void onScrollChanged(int scrollY, boolean firstScroll, boolean dragging) {
URLogs.d("onScrollChanged: " + dragging);
}
@Override
public void onDownMotionEvent() {
}
@Override
public void onUpOrCancelMotionEvent(ObservableScrollState observableScrollState) {
URLogs.d("onUpOrCancelMotionEvent");
if (observableScrollState == ObservableScrollState.UP) {
ultimateRecyclerView.hideToolbar(toolbar, ultimateRecyclerView, getScreenHeight());
ultimateRecyclerView.hideFloatingActionMenu();
} else if (observableScrollState == ObservableScrollState.DOWN) {
ultimateRecyclerView.showToolbar(toolbar, ultimateRecyclerView, getScreenHeight());
ultimateRecyclerView.showFloatingActionMenu();
}
}
});
ultimateRecyclerView.showFloatingButtonView();
}
protected void enableEmptyViewPolicy() {
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_SHOW_LOADMORE_ONLY);
ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_CLEAR_ALL);
}
protected void enableSwipe() {
}
protected void enableItemClick() {
ItemTouchListenerAdapter itemTouchListenerAdapter = new ItemTouchListenerAdapter(ultimateRecyclerView.mRecyclerView,
new ItemTouchListenerAdapter.RecyclerViewOnItemClickListener() {
@Override
public void onItemClick(RecyclerView parent, View clickedView, int position) {
}
@Override
public void onItemLongClick(RecyclerView parent, View clickedView, int position) {
URLogs.d("onItemLongClick()" + isDrag);
if (isDrag) {
URLogs.d("onItemLongClick()" + isDrag);
// dragDropTouchListener.startDrag();
// ultimateRecyclerView.enableDefaultSwipeRefresh(false);
}
}
});
ultimateRecyclerView.mRecyclerView.addOnItemTouchListener(itemTouchListenerAdapter);
}
protected abstract void addButtonTrigger();
protected abstract void removeButtonTrigger();
protected void setupSpinnerSelection(Spinner sp, ArrayAdapter<String> adapter) {
adapter.add("- select -");
/**
* a list of selection for other tests
*/
for (Route type : Route.values()) {
adapter.add(type.getNameDisplay());
}
sp.setAdapter(adapter);
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position > 0) {
Route.values()[position - 1].start(getApplication());
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
protected void setupSpinnerAnimationSelection(Spinner spinner, ArrayAdapter<String> adapter) {
adapter.add("- animator -");
for (AnimationType type : AnimationType.values()) {
adapter.add(type.name());
}
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position > 0) {
ultimateRecyclerView.setItemAnimator(AnimationType.values()[position - 1].getAnimator());
ultimateRecyclerView.getItemAnimator().setAddDuration(300);
ultimateRecyclerView.getItemAnimator().setRemoveDuration(300);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
private void bButtons() {
findViewById(R.id.add).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addButtonTrigger();
}
});
findViewById(R.id.del).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
removeButtonTrigger();
}
});
findViewById(R.id.toggle).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toggleButtonTrigger();
}
});
}
protected void toggleButtonTrigger() {
if (!status_progress) {
isEnableAutoLoadMore = !isEnableAutoLoadMore;
if (isEnableAutoLoadMore) {
ultimateRecyclerView.reenableLoadmore();
}
}
}
protected ActionMode actionMode;
protected Toolbar toolbar;
protected LinearLayoutManager linearLayoutManager;
private int moreNum = 2;
protected boolean isDrag = true, isEnableAutoLoadMore = true, status_progress = false;
private DragDropTouchListener dragDropTouchListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loadmore);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ultimateRecyclerView = (UltimateRecyclerView) findViewById(R.id.ultimate_recycler_view);
doURV(ultimateRecyclerView);
bButtons();
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
setupSpinnerSelection((Spinner) findViewById(R.id.spinner), spinnerAdapter);
}
public int getScreenHeight() {
return findViewById(android.R.id.content).getHeight();
}
protected abstract void doURV(UltimateRecyclerView urv);
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/DebugLoadMoreActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.graphics.Color;
import com.marshalchen.ultimaterecyclerview.ui.swipe.SwipeableRecyclerViewTouchListener;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.sectionZeroAdapter;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import com.marshalchen.ultimaterecyclerview.ui.swipe.defaultRegularSwipe;
import java.util.ArrayList;
/**
* Created by hesk on 7/1/2015.
*/
public class DebugLoadMoreActivity extends BasicFunctions {
private sectionZeroAdapter simpleRecyclerViewAdapter = null;
@Override
protected void enableEmptyViewPolicy() {
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER);
ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_SHOW_LOADMORE_ONLY);
}
@Override
protected void onLoadmore() {
// SampleDataboxset.insertMore(simpleRecyclerViewAdapter, 2);
SampleDataboxset.insertMoreWhole(simpleRecyclerViewAdapter, 2);
// linearLayoutManager.scrollToPositionWithOffset(maxLastVisiblePosition, -1);
// linearLayoutManager.scrollToPosition(maxLastVisiblePosition);
/**
* this is the example for making the function test for loading more and disable loading more
*/
/* if (isEnableAutoLoadMore) {
ultimateRecyclerView.enableLoadmore();
} else {
ultimateRecyclerView.disableLoadmore();
}*/
}
@Override
protected void enableSwipe() {
super.enableSwipe();
ultimateRecyclerView.addOnItemTouchListener(new SwipeableRecyclerViewTouchListener(ultimateRecyclerView.mRecyclerView, new defaultRegularSwipe<>(simpleRecyclerViewAdapter)));
}
@Override
protected void addButtonTrigger() {
simpleRecyclerViewAdapter.insertFirst("rand added item");
ultimateRecyclerView.reenableLoadmore();
}
@Override
protected void removeButtonTrigger() {
simpleRecyclerViewAdapter.removeLast();
}
@Override
protected void onFireRefresh() {
// simpleRecyclerViewAdapter.insertLast(moreNum++ + " Refresh things");
ultimateRecyclerView.setRefreshing(false);
// ultimateRecyclerView.scrollBy(0, -50);
linearLayoutManager.scrollToPosition(0);
//ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
//simpleRecyclerViewAdapter.notifyDataSetChanged();
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.disableLoadmore();
//ultimateRecyclerView.showEmptyView();
}
@Override
protected void doURV(UltimateRecyclerView ultimateRecyclerView) {
ultimateRecyclerView.setHasFixedSize(false);
simpleRecyclerViewAdapter = new sectionZeroAdapter(new ArrayList<String>());
configLinearLayoutManager(ultimateRecyclerView);
enableParallaxHeader();
enableEmptyViewPolicy();
enableLoadMore();
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ffff66ff"));
enableRefresh();
// enableScrollControl();
// enableSwipe();
// enableItemClick();
//ultimateRecyclerView.setItemViewCacheSize(simpleRecyclerViewAdapter.getAdditionalItems());
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
}
private void toggleSelection(int position) {
simpleRecyclerViewAdapter.toggleSelection(position);
actionMode.setTitle("Selected " + "1");
}
@Override
protected void onDestroy() {
super.onDestroy();
}
//
/* @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
FastBinding.startactivity(this, item.getItemId());
return super.onOptionsItemSelected(item);
}*/
/* enum Type {
FadeIn(new FadeInAnimator()),
FadeInDown(new FadeInDownAnimator()),
FadeInUp(new FadeInUpAnimator()),
FadeInLeft(new FadeInLeftAnimator()),
FadeInRight(new FadeInRightAnimator()),
Landing(new LandingAnimator()),
ScaleIn(new ScaleInAnimator()),
ScaleInTop(new ScaleInTopAnimator()),
ScaleInBottom(new ScaleInBottomAnimator()),
ScaleInLeft(new ScaleInLeftAnimator()),
ScaleInRight(new ScaleInRightAnimator()),
FlipInTopX(new FlipInTopXAnimator()),
FlipInBottomX(new FlipInBottomXAnimator()),
FlipInLeftY(new FlipInLeftYAnimator()),
FlipInRightY(new FlipInRightYAnimator()),
SlideInLeft(new SlideInLeftAnimator()),
SlideInRight(new SlideInRightAnimator()),
SlideInDown(new SlideInDownAnimator()),
SlideInUp(new SlideInUpAnimator()),
OvershootInRight(new OvershootInRightAnimator()),
OvershootInLeft(new OvershootInLeftAnimator());
private BaseItemAnimator mAnimator;
Type(BaseItemAnimator animator) {
mAnimator = animator;
}
public BaseItemAnimator getAnimator() {
return mAnimator;
}
}*/
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/DebugNoHeaderLoadMoreActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.graphics.Color;
import android.view.LayoutInflater;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.sectionZeroAdapter;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import java.util.ArrayList;
/**
* Created by hesk on 19/2/16.
*/
public class DebugNoHeaderLoadMoreActivity extends BasicFunctions {
private sectionZeroAdapter simpleRecyclerViewAdapter = null;
@Override
protected void enableEmptyViewPolicy() {
ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
}
@Override
protected void onLoadmore() {
SampleDataboxset.insertMoreWhole(simpleRecyclerViewAdapter, 2);
}
@Override
protected void onFireRefresh() {
// simpleRecyclerViewAdapter.insertLast(moreNum++ + " Refresh things");
ultimateRecyclerView.setRefreshing(false);
// ultimateRecyclerView.scrollBy(0, -50);
// linearLayoutManager.scrollToPosition(0);
ultimateRecyclerView.scrollVerticallyTo(0);
//ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
//simpleRecyclerViewAdapter.notifyDataSetChanged();
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.disableLoadmore();
ultimateRecyclerView.showEmptyView();
}
@Override
protected void doURV(UltimateRecyclerView ultimateRecyclerView) {
// ultimateRecyclerView.setInflater(LayoutInflater.from(getApplicationContext()));
ultimateRecyclerView.setHasFixedSize(false);
ArrayList<String> list = new ArrayList<>();
list.add("o2fn31");
list.add("of2n32");
list.add("of3n36");
simpleRecyclerViewAdapter = new sectionZeroAdapter(list);
configLinearLayoutManager(ultimateRecyclerView);
//enableParallaxHeader();
enableEmptyViewPolicy();
enableLoadMore();
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ff4fcccf"));
enableRefresh();
// enableScrollControl();
// enableSwipe();
// enableItemClick();
ultimateRecyclerView.setItemViewCacheSize(simpleRecyclerViewAdapter.getAdditionalItems());
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
}
@Override
protected void addButtonTrigger() {
simpleRecyclerViewAdapter.insertLast("++ new Item");
ultimateRecyclerView.reenableLoadmore();
}
@Override
protected void removeButtonTrigger() {
simpleRecyclerViewAdapter.removeLast();
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/FinalEmptyViewDisplayActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.graphics.Color;
import android.os.Handler;
import android.view.View;
import android.widget.TextView;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.sectionZeroAdapter;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import com.marshalchen.ultimaterecyclerview.ui.emptyview.emptyViewOnShownListener;
import java.util.ArrayList;
/**
* Created by hesk on 25/2/16.
*/
public class FinalEmptyViewDisplayActivity extends BasicFunctions implements emptyViewOnShownListener {
private sectionZeroAdapter simpleRecyclerViewAdapter = null;
private Handler time_count = new Handler();
private int time = 0;
@Override
protected void onLoadmore() {
time_count.postDelayed(new Runnable() {
@Override
public void run() {
SampleDataboxset.insertMoreWhole(simpleRecyclerViewAdapter, 5);
}
}, 1000);
}
@Override
protected void onFireRefresh() {
time_count.postDelayed(new Runnable() {
@Override
public void run() {
ultimateRecyclerView.setRefreshing(false);
}
}, 1000);
}
@Override
protected void enableEmptyViewPolicy() {
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER);
ultimateRecyclerView.setEmptyView(R.layout.empty_view_v2, UltimateRecyclerView.EMPTY_CLEAR_ALL, this);
}
@Override
protected void doURV(UltimateRecyclerView urv) {
ultimateRecyclerView.setHasFixedSize(false);
simpleRecyclerViewAdapter = new sectionZeroAdapter(new ArrayList<String>());
configLinearLayoutManager(ultimateRecyclerView);
enableEmptyViewPolicy();
enableLoadMore();
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ff4fcccf"));
enableRefresh();
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
}
@Override
protected void addButtonTrigger() {
SampleDataboxset.insertMoreWhole(simpleRecyclerViewAdapter, 3);
ultimateRecyclerView.reenableLoadmore();
}
@Override
protected void removeButtonTrigger() {
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.showEmptyView();
}
@Override
protected void toggleButtonTrigger() {
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.showEmptyView();
ultimateRecyclerView.disableLoadmore();
}
@Override
public void onEmptyViewShow(View mView) {
TextView tv = (TextView) mView.findViewById(R.id.exp_section_title);
if (tv != null) {
StringBuilder sb = new StringBuilder();
sb.append("Your pressed at \"");
sb.append(time);
sb.append("\" and that is not found.");
tv.setText(sb.toString());
}
time++;
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/FirstPageCancelLoadMore.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.graphics.Color;
import android.os.Handler;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.sectionZeroAdapter;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import java.util.ArrayList;
/**
* Created by hesk on 25/2/16.
*/
public class FirstPageCancelLoadMore extends BasicFunctions {
private sectionZeroAdapter simpleRecyclerViewAdapter = null;
private Handler time_count = new Handler();
@Override
protected void enableEmptyViewPolicy() {
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER);
ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
}
@Override
protected void onLoadmore() {
time_count.postDelayed(new Runnable() {
@Override
public void run() {
SampleDataboxset.insertMoreWhole(simpleRecyclerViewAdapter, 2);
ultimateRecyclerView.disableLoadmore();
}
}, 1000);
}
@Override
protected void onFireRefresh() {
// simpleRecyclerViewAdapter.insertLast(moreNum++ + " Refresh things");
ultimateRecyclerView.setRefreshing(false);
// ultimateRecyclerView.scrollBy(0, -50);
linearLayoutManager.scrollToPosition(0);
//ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
//simpleRecyclerViewAdapter.notifyDataSetChanged();
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.disableLoadmore();
ultimateRecyclerView.showEmptyView();
}
@Override
protected void doURV(UltimateRecyclerView urv) {
ultimateRecyclerView.setHasFixedSize(false);
simpleRecyclerViewAdapter = new sectionZeroAdapter(new ArrayList<String>());
configLinearLayoutManager(ultimateRecyclerView);
enableEmptyViewPolicy();
enableLoadMore();
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ff4fcccf"));
enableRefresh();
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
}
@Override
protected void addButtonTrigger() {
SampleDataboxset.insertMoreWhole(simpleRecyclerViewAdapter, 3);
ultimateRecyclerView.reenableLoadmore();
}
@Override
protected void removeButtonTrigger() {
simpleRecyclerViewAdapter.removeAll();
}
@Override
protected void toggleButtonTrigger() {
if (!status_progress) {
isEnableAutoLoadMore = !isEnableAutoLoadMore;
if (isEnableAutoLoadMore) {
ultimateRecyclerView.reenableLoadmore();
}
}
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/LineNodeActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.graphics.Color;
import android.os.Handler;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.modules.TimeLineModel;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.TimeLineAdapter;
import com.marshalchen.ultimaterecyclerview.quickAdapter.easyRegularAdapter;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* Created by zJJ on 4/27/2016.
*/
public class LineNodeActivity extends BasicFunctions {
@Override
protected void onLoadmore() {
}
@Override
protected void onFireRefresh() {
}
public static void insertMoreWhole(easyRegularAdapter sd, int howmany) {
ArrayList<TimeLineModel> items = new ArrayList<>();
addAmount(howmany, items);
/**
* additional patch for the additional item
*/
int at = sd.getAdapterItemCount();
sd.insert(items);
sd.notifyDataSetChanged();
}
protected static void addAmount(int howMany, ArrayList<TimeLineModel> list) {
for (int i = 0; i < howMany; i++) {
UUID uuid = UUID.randomUUID();
TimeLineModel time = new TimeLineModel();
time.setAge(uuid.variant());
time.setName(uuid.toString());
list.add(time);
}
}
@Override
protected void addButtonTrigger() {
insertMoreWhole(simpleRecyclerViewAdapter, 3);
}
@Override
protected void removeButtonTrigger() {
}
private TimeLineAdapter simpleRecyclerViewAdapter = null;
private Handler time_count = new Handler();
@Override
protected void doURV(UltimateRecyclerView urv) {
ArrayList<TimeLineModel> list = new ArrayList<>();
TimeLineModel time = new TimeLineModel();
time.setAge(139);
time.setName("England");
list.add(time);
TimeLineModel time2 = new TimeLineModel();
time2.setAge(359);
time2.setName("Japan");
list.add(time2);
TimeLineModel time3 = new TimeLineModel();
time3.setAge(339);
time3.setName("HK");
list.add(time3);
addAmount(29, list);
ultimateRecyclerView.setHasFixedSize(true);
simpleRecyclerViewAdapter = new TimeLineAdapter(list);
//currently we only support linearlayout option but we have tested anything for the grid layout yet
configLinearLayoutManager(ultimateRecyclerView);
enableEmptyViewPolicy();
// enableLoadMore();
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ff6f36cf"));
//enableRefresh();
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/PullToRefreshActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import androidx.appcompat.widget.Toolbar;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import com.marshalchen.ultimaterecyclerview.CustomUltimateRecyclerview;
import com.marshalchen.ultimaterecyclerview.URLogs;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.sectionZeroAdapter;
import com.marshalchen.ultimaterecyclerview.demo.modules.FastBinding;
import in.srain.cube.views.ptr.PtrDefaultHandler;
import in.srain.cube.views.ptr.PtrFrameLayout;
import in.srain.cube.views.ptr.PtrHandler;
import in.srain.cube.views.ptr.PtrUIHandler;
import in.srain.cube.views.ptr.header.MaterialHeader;
import in.srain.cube.views.ptr.header.StoreHouseHeader;
import in.srain.cube.views.ptr.indicator.PtrIndicator;
public class PullToRefreshActivity extends BasicFunctions implements ActionMode.Callback {
private CustomUltimateRecyclerview ultimateRecyclerView;
private sectionZeroAdapter simpleRecyclerViewAdapter = null;
private View floatingButton = null;
@Override
protected void onLoadmore() {
}
@Override
protected void onFireRefresh() {
// simpleRecyclerViewAdapter.insertLast("Refresh things");
// ultimateRecyclerView.scrollBy(0, -50);
// linearLayoutManager.scrollToPosition(0);
ultimateRecyclerView.mPtrFrameLayout.refreshComplete();
changeHeaderHandler.sendEmptyMessageDelayed(0, 500);
}
@Override
protected void addButtonTrigger() {
}
@Override
protected void removeButtonTrigger() {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_refresh_activity);
ultimateRecyclerView = (CustomUltimateRecyclerview) findViewById(R.id.custom_ultimate_recycler_view);
ultimateRecyclerView.setCustomSwipeToRefresh();
// refreshingMaterial();
refreshingString();
}
void refreshingString() {
storeHouseHeader = new StoreHouseHeader(this);
// header.setPadding(0, 15, 0, 0);
storeHouseHeader.initWithString("XCode Big Air");
// header.initWithStringArray(R.array.akta);
ultimateRecyclerView.mPtrFrameLayout.removePtrUIHandler(materialHeader);
ultimateRecyclerView.mPtrFrameLayout.setHeaderView(storeHouseHeader);
ultimateRecyclerView.mPtrFrameLayout.addPtrUIHandler(storeHouseHeader);
ultimateRecyclerView.mPtrFrameLayout.autoRefresh(false);
ultimateRecyclerView.mPtrFrameLayout.setPtrHandler(new PtrHandler() {
@Override
public boolean checkCanDoRefresh(PtrFrameLayout ptrFrameLayout, View view, View view2) {
boolean canbePullDown = PtrDefaultHandler.checkContentCanBePulledDown(ptrFrameLayout, view, view2);
return canbePullDown;
}
@Override
public void onRefreshBegin(PtrFrameLayout ptrFrameLayout) {
ptrFrameLayout.postDelayed(new Runnable() {
@Override
public void run() {
onFireRefresh();
}
}, 1800);
}
});
}
// void refreshingRental() {
// rentalsSunHeaderView = new RentalsSunHeaderView(this);
// rentalsSunHeaderView.setUp(ultimateRecyclerView.mPtrFrameLayout);
//
// ultimateRecyclerView.mPtrFrameLayout.removePtrUIHandler(materialHeader);
// ultimateRecyclerView.mPtrFrameLayout.removePtrUIHandler(storeHouseHeader);
// ultimateRecyclerView.mPtrFrameLayout.setHeaderView(rentalsSunHeaderView);
// ultimateRecyclerView.mPtrFrameLayout.addPtrUIHandler(rentalsSunHeaderView);
// ultimateRecyclerView.mPtrFrameLayout.autoRefresh(false);
// ultimateRecyclerView.mPtrFrameLayout.setPtrHandler(new PtrHandler() {
// @Override
// public boolean checkCanDoRefresh(PtrFrameLayout ptrFrameLayout, View view, View view2) {
// boolean canbePullDown = PtrDefaultHandler.checkContentCanBePulledDown(ptrFrameLayout, view, view2);
// return canbePullDown;
// }
//
// @Override
// public void onRefreshBegin(PtrFrameLayout ptrFrameLayout) {
// ptrFrameLayout.postDelayed(new Runnable() {
// @Override
// public void run() {
// simpleRecyclerViewAdapter.insert("Refresh things", 0);
// // ultimateRecyclerView.scrollBy(0, -50);
// linearLayoutManager.scrollToPosition(0);
// ultimateRecyclerView.mPtrFrameLayout.refreshComplete();
// changeHeaderHandler.sendEmptyMessageDelayed(3, 500);
// }
// }, 1800);
// }
// });
//
// }
void refreshingMaterial() {
materialHeader = new MaterialHeader(this);
int[] colors = getResources().getIntArray(R.array.google_colors);
materialHeader.setColorSchemeColors(colors);
materialHeader.setLayoutParams(new PtrFrameLayout.LayoutParams(-1, -2));
materialHeader.setPadding(0, 15, 0, 10);
materialHeader.setPtrFrameLayout(ultimateRecyclerView.mPtrFrameLayout);
ultimateRecyclerView.mPtrFrameLayout.autoRefresh(false);
ultimateRecyclerView.mPtrFrameLayout.removePtrUIHandler(storeHouseHeader);
ultimateRecyclerView.mPtrFrameLayout.setHeaderView(materialHeader);
ultimateRecyclerView.mPtrFrameLayout.addPtrUIHandler(materialHeader);
ultimateRecyclerView.mPtrFrameLayout.setPtrHandler(new PtrHandler() {
@Override
public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) {
return true;
}
@Override
public void onRefreshBegin(final PtrFrameLayout frame) {
frame.postDelayed(new Runnable() {
@Override
public void run() {
// simpleRecyclerViewAdapter.insertLast("Refresh things");
// ultimateRecyclerView.scrollBy(0, -50);
// linearLayoutManager.scrollToPosition(0);
ultimateRecyclerView.mPtrFrameLayout.refreshComplete();
// changeHeaderHandler.sendEmptyMessageDelayed(2, 500);
}
}, 1800);
}
});
}
Handler changeHeaderHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
refreshingStringArray();
break;
case 1:
// refreshingMaterial();
refreshingString();
break;
case 2:
// refreshingString();
break;
case 3:
refreshingString();
break;
case 4:
break;
}
}
};
private int mLoadTime = 0;
StoreHouseHeader storeHouseHeader;
MaterialHeader materialHeader;
// RentalsSunHeaderView rentalsSunHeaderView;
private void refreshingStringArray() {
storeHouseHeader = new StoreHouseHeader(this);
storeHouseHeader.setPadding(0, 15, 0, 0);
// using string array from resource xml file
storeHouseHeader.initWithStringArray(R.array.storehouse);
ultimateRecyclerView.mPtrFrameLayout.setDurationToCloseHeader(1500);
ultimateRecyclerView.mPtrFrameLayout.removePtrUIHandler(materialHeader);
ultimateRecyclerView.mPtrFrameLayout.setHeaderView(storeHouseHeader);
ultimateRecyclerView.mPtrFrameLayout.addPtrUIHandler(storeHouseHeader);
ultimateRecyclerView.mPtrFrameLayout.autoRefresh(false);
// change header after loaded
ultimateRecyclerView.mPtrFrameLayout.addPtrUIHandler(new PtrUIHandler() {
@Override
public void onUIReset(PtrFrameLayout frame) {
mLoadTime++;
if (mLoadTime % 2 == 0) {
storeHouseHeader.setScale(1);
storeHouseHeader.initWithStringArray(R.array.storehouse);
} else {
storeHouseHeader.setScale(0.5f);
storeHouseHeader.initWithStringArray(R.array.akta);
}
}
@Override
public void onUIRefreshPrepare(PtrFrameLayout frame) {
}
@Override
public void onUIRefreshBegin(PtrFrameLayout frame) {
}
@Override
public void onUIRefreshComplete(PtrFrameLayout frame) {
}
@Override
public void onUIPositionChange(PtrFrameLayout frame, boolean isUnderTouch, byte status, PtrIndicator ptrIndicator) {
}
});
ultimateRecyclerView.mPtrFrameLayout.setPtrHandler(new PtrHandler() {
@Override
public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) {
return true;
}
@Override
public void onRefreshBegin(final PtrFrameLayout frame) {
frame.postDelayed(new Runnable() {
@Override
public void run() {
// frame.refreshComplete();
// simpleRecyclerViewAdapter.insertLast("Refresh things");
// ultimateRecyclerView.scrollBy(0, -50);
linearLayoutManager.scrollToPosition(0);
ultimateRecyclerView.mPtrFrameLayout.refreshComplete();
if (mLoadTime % 2 == 0)
changeHeaderHandler.sendEmptyMessageDelayed(1, 500);
}
}, 2000);
}
});
}
private void toggleSelection(int position) {
simpleRecyclerViewAdapter.toggleSelection(position);
actionMode.setTitle("Selected " + "1");
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public int getScreenHeight() {
return findViewById(android.R.id.content).getHeight();
}
@Override
protected void doURV(UltimateRecyclerView urv) {
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
URLogs.d("actionmode---" + (mode == null));
mode.getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
// return false;
}
/**
* Called to refresh an action mode's action menu whenever it is invalidated.
*
* @param mode ActionMode being prepared
* @param menu Menu used to populate action buttons
* @return true if the menu or action mode was updated, false otherwise.
*/
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// swipeToDismissTouchListener.setEnabled(false);
this.actionMode = mode;
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
this.actionMode = null;
}
//
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
FastBinding.startactivity(this, item.getItemId());
return super.onOptionsItemSelected(item);
}
/*
enum Type {
FadeIn("FadeIn", new FadeInAnimator()),
FadeInDown("FadeInDown", new FadeInDownAnimator()),
FadeInUp("FadeInUp", new FadeInUpAnimator()),
FadeInLeft("FadeInLeft", new FadeInLeftAnimator()),
FadeInRight("FadeInRight", new FadeInRightAnimator()),
Landing("Landing", new LandingAnimator()),
ScaleIn("ScaleIn", new ScaleInAnimator()),
ScaleInTop("ScaleInTop", new ScaleInTopAnimator()),
ScaleInBottom("ScaleInBottom", new ScaleInBottomAnimator()),
ScaleInLeft("ScaleInLeft", new ScaleInLeftAnimator()),
ScaleInRight("ScaleInRight", new ScaleInRightAnimator()),
FlipInTopX("FlipInTopX", new FlipInTopXAnimator()),
FlipInBottomX("FlipInBottomX", new FlipInBottomXAnimator()),
FlipInLeftY("FlipInLeftY", new FlipInLeftYAnimator()),
FlipInRightY("FlipInRightY", new FlipInRightYAnimator()),
SlideInLeft("SlideInLeft", new SlideInLeftAnimator()),
SlideInRight("SlideInRight", new SlideInRightAnimator()),
SlideInDown("SlideInDown", new SlideInDownAnimator()),
SlideInUp("SlideInUp", new SlideInUpAnimator()),
OvershootInRight("OvershootInRight", new OvershootInRightAnimator()),
OvershootInLeft("OvershootInLeft", new OvershootInLeftAnimator());
private String mTitle;
private BaseItemAnimator mAnimator;
Type(String title, BaseItemAnimator animator) {
mTitle = title;
mAnimator = animator;
}
public BaseItemAnimator getAnimator() {
return mAnimator;
}
public String getTitle() {
return mTitle;
}
}
*/
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/Route.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.content.Context;
import android.content.Intent;
/**
* Created by hesk on 24/2/16.
*/
public enum Route {
LineNodeActivity("LineNodeActivity", LineNodeActivity.class),
STAGGER_LOAD_MORE("Stagger LoadMore", StaggerLoadMoreActivity.class),
LOADLOADING_CUT("Stop loading", FirstPageCancelLoadMore.class),
LOADMORE_TEST("No Header", DebugNoHeaderLoadMoreActivity.class),
FinalEmptyViewDisplayActivity("Empty View", FinalEmptyViewDisplayActivity.class),
SLIDER_HEADER("Header of Slider", SliderHeader.class),
SWIPE_LIST("Swipe List View Example", SwipeListViewExampleActivity.class),
LOADMORE_HEADER("Header Pallx", DebugLoadMoreActivity.class),;
private String name;
private Class<?> clazzna;
Route(String name, Class<?> clazz) {
this.name = name;
this.clazzna = clazz;
}
public Route getAnimator() {
return this;
}
public String getNameDisplay() {
return name;
}
public void start(final Context ctx) {
Intent intent = new Intent(ctx, clazzna);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(intent);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/SliderHeader.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.annotation.TargetApi;
import android.graphics.Color;
import android.os.Build;
import androidx.interpolator.view.animation.LinearOutSlowInInterpolator;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewTreeObserver;
import com.hkm.slider.SliderLayout;
import com.hkm.slider.SliderTypes.BaseSliderView;
import com.hkm.slider.SliderTypes.TextSliderView;
import com.hkm.slider.TransformerL;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.sectionZeroAdapter;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import java.util.ArrayList;
/**
* Created by hesk on 18/3/16.
*/
public class SliderHeader extends BasicFunctions implements BaseSliderView.OnSliderClickListener {
private sectionZeroAdapter simpleRecyclerViewAdapter = null;
@Override
protected void onLoadmore() {
SampleDataboxset.insertMoreWhole(simpleRecyclerViewAdapter, 2);
}
@Override
protected void onFireRefresh() {
// simpleRecyclerViewAdapter.insertLast(moreNum++ + " Refresh things");
ultimateRecyclerView.setRefreshing(false);
// ultimateRecyclerView.scrollBy(0, -50);
linearLayoutManager.scrollToPosition(0);
//ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
//simpleRecyclerViewAdapter.notifyDataSetChanged();
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.disableLoadmore();
ultimateRecyclerView.showEmptyView();
}
@Override
protected void addButtonTrigger() {
simpleRecyclerViewAdapter.insertFirst("rand added item");
ultimateRecyclerView.reenableLoadmore();
}
@Override
protected void removeButtonTrigger() {
simpleRecyclerViewAdapter.removeLast();
}
@Override
protected void doURV(UltimateRecyclerView urv) {
ultimateRecyclerView.setHasFixedSize(false);
simpleRecyclerViewAdapter = new sectionZeroAdapter(new ArrayList<String>());
configLinearLayoutManager(ultimateRecyclerView);
enableParallaxHeader();
enableEmptyViewPolicy();
enableLoadMore();
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ffff66ff"));
enableRefresh();
// enableScrollControl();
// enableSwipe();
// enableItemClick();
ultimateRecyclerView.setItemViewCacheSize(simpleRecyclerViewAdapter.getAdditionalItems());
ultimateRecyclerView.setNormalHeader(initSlider(ultimateRecyclerView));
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
}
private View initSlider(UltimateRecyclerView listview) {
final View view = LayoutInflater.from(getApplication()).inflate(R.layout.list_item_header, null, false);
final ViewTreeObserver vto = listview.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onGlobalLayout() {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
//Log.d("vto", "globallayout");
final SliderLayout sl = (SliderLayout) view.findViewById(R.id.header_slider);
try {
sl.setOffscreenPageLimit(1);
sl.setSliderTransformDuration(500, new LinearOutSlowInInterpolator());
sl.setPresetTransformer(TransformerL.Default);
sl.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
sl.getPagerIndicator().setDefaultIndicatorColor(R.color.accent, R.color.primaryDark);
sl.getPagerIndicator().setVisibility(View.GONE);
setup_double_faces(sl);
} catch (Exception e) {
e.printStackTrace();
}
}
});
return view;
}
String[] urls = {
// "http://pcdn.500px.net/35939982/127d53ceac436e2e17a11ea42bb2cd7719b9f1e1/4.jpg",
"http://cs407831.userapi.com/v4078f31207/18fe/4Tz8av5Hlvo.jpg",
// special url with error
"http://cs407831.userapi.com/v407831207/1906/oxoP6URjFtA.jpg",
"http://cs407831.userapi.com/v407831207/190e/2Sz9A774hUc.jpg",
"http://cs407831.userapi.com/v407831207/1916/Ua52RjnKqjk.jpg",
"http://cs407831.userapi.com/v407831207/190e/2Sz9A774hUc.jpg",
"http://cs407831.userapi.com/v407831207/1916/Ua52RjnKqjk.jpg",
"http://cs407831.userapi.com/v407831207/190e/2Sz9A774hUc.jpg",
"http://cs407831.userapi.com/v407831207/1916/Ua52RjnKqjk.jpg",
"http://cs407831.userapi.com/v407831207/191e/QEQE83Ok0lQ.jpg"
};
protected void setup_double_faces(final SliderLayout mslide) throws Exception {
ArrayList<BaseSliderView> ie = new ArrayList<>();
// mslide.setCustomAnimation(new DescriptionAnimation(250, new DecelerateInterpolator()));
for (int i = 0; i < urls.length; i++) {
TextSliderView textSliderView = new TextSliderView(this);
// initialize a SliderLayout
textSliderView
.image(urls[i])
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(this);
//add your extra information
ie.add(textSliderView);
}
mslide.loadSliderList(ie);
}
@Override
public void onSliderClick(BaseSliderView coreSlider) {
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/StaggerLoadMoreActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import android.graphics.Color;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.sectionZeroAdapter;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.staggerAdapter;
import java.util.ArrayList;
/**
* Created by hesk on 5/4/16.
*/
public class StaggerLoadMoreActivity extends BasicFunctions {
staggerAdapter simpleRecyclerViewAdapter = null;
@Override
protected void onLoadmore() {
SampleDataboxset.insertMoreWhole(simpleRecyclerViewAdapter, 7);
}
@Override
protected void enableEmptyViewPolicy() {
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER);
ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
}
@Override
protected void onFireRefresh() {
// simpleRecyclerViewAdapter.insertLast(moreNum++ + " Refresh things");
ultimateRecyclerView.setRefreshing(false);
// ultimateRecyclerView.scrollBy(0, -50);
linearLayoutManager.scrollToPosition(0);
//ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
//simpleRecyclerViewAdapter.notifyDataSetChanged();
simpleRecyclerViewAdapter.removeAll();
ultimateRecyclerView.disableLoadmore();
ultimateRecyclerView.showEmptyView();
}
@Override
protected void doURV(UltimateRecyclerView urv) {
ultimateRecyclerView.setHasFixedSize(false);
simpleRecyclerViewAdapter = new staggerAdapter(new ArrayList<String>());
//configLinearLayoutManager(ultimateRecyclerView);
configStaggerLayoutManager(ultimateRecyclerView, simpleRecyclerViewAdapter);
// enableParallaxHeader();
enableEmptyViewPolicy();
enableLoadMore();
ultimateRecyclerView.setRecylerViewBackgroundColor(Color.parseColor("#ff4fcccf"));
enableRefresh();
// enableScrollControl();
// enableSwipe();
// enableItemClick();
ultimateRecyclerView.setItemViewCacheSize(simpleRecyclerViewAdapter.getAdditionalItems());
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
}
@Override
protected void addButtonTrigger() {
simpleRecyclerViewAdapter.insertLast("++ New Item");
ultimateRecyclerView.reenableLoadmore();
}
@Override
protected void removeButtonTrigger() {
simpleRecyclerViewAdapter.removeLast();
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/SwipeListViewExampleActivity.java
================================================
/*
* Copyright (C) 2013 47 Degrees, LLC
* http://47deg.com
* hello@47deg.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.marshalchen.ultimaterecyclerview.demo.loadmoredemo;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.modules.SampleDataboxset;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.SwipeAdapter;
import com.marshalchen.ultimaterecyclerview.layoutmanagers.ScrollSmoothLineaerLayoutManager;
import com.marshalchen.ultimaterecyclerview.swipe.SwipeItemManagerInterface;
import java.util.ArrayList;
import java.util.List;
public class SwipeListViewExampleActivity extends BasicFunctions {
private SwipeAdapter adapter;
private List<String> data;
private ScrollSmoothLineaerLayoutManager mLayoutManager;
@Override
protected void onLoadmore() {
SampleDataboxset.insertMoreWhole(adapter, 3);
}
@Override
protected void onFireRefresh() {
ultimateRecyclerView.setRefreshing(false);
// ultimateRecyclerView.scrollBy(0, -50);
linearLayoutManager.scrollToPosition(0);
//ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
//simpleRecyclerViewAdapter.notifyDataSetChanged();
adapter.removeAll();
ultimateRecyclerView.disableLoadmore();
ultimateRecyclerView.showEmptyView();
}
@Override
protected void addButtonTrigger() {
adapter.insertLast("++ xxx");
ultimateRecyclerView.reenableLoadmore();
}
@Override
protected void removeButtonTrigger() {
adapter.removeLast();
}
@Override
protected void enableEmptyViewPolicy() {
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
// ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER);
ultimateRecyclerView.setEmptyView(R.layout.empty_view, UltimateRecyclerView.EMPTY_KEEP_HEADER_AND_LOARMORE);
}
@Override
protected void doURV(UltimateRecyclerView urv) {
data = new ArrayList<String>();
data.add("aa");
data.add("bb");
data.add("cc");
data.add("dd");
data.add("aa");
data.add("bb");
data.add("cc");
data.add("dd");
data.add("aa");
data.add("bb");
data.add("cc");
data.add("dd");
enableEmptyViewPolicy();
enableLoadMore();
enableRefresh();
adapter = new SwipeAdapter(data);
adapter.setMode(SwipeItemManagerInterface.Mode.Single);
mLayoutManager = new ScrollSmoothLineaerLayoutManager(this, LinearLayoutManager.VERTICAL, false, 500);
ultimateRecyclerView.setHasFixedSize(false);
ultimateRecyclerView.setLayoutManager(mLayoutManager);
// swipeListView.addOnItemTouchListener(new RecyclerItemClickListener(this, new RecyclerItemClickListener.OnItemClickListener() {
// @Override
// public void onItemClick(View view, int position) {
// URLogs.d("click");
// }
// }));
ultimateRecyclerView.setAdapter(adapter);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/AbstractDataProvider.java
================================================
/*
* Copyright (C) 2015 Haruki Hasegawa
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.marshalchen.ultimaterecyclerview.demo.modules;
public abstract class AbstractDataProvider {
public static abstract class Data {
public abstract long getId();
public abstract boolean isSectionHeader();
public abstract int getViewType();
public abstract int getSwipeReactionType();
public abstract String getText();
public abstract void setPinnedToSwipeLeft(boolean pinned);
public abstract boolean isPinnedToSwipeLeft();
}
public abstract int getCount();
public abstract Data getItem(int index);
public abstract void removeItem(int position);
public abstract void moveItem(int fromPosition, int toPosition);
public abstract int undoLastRemoval();
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/CircularImageView.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.modules;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.RectF;
import android.graphics.Shader;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.ImageView;
import com.marshalchen.ultimaterecyclerview.demo.R;
/**
* Custom ImageView for circular images in Android while maintaining the
* best draw performance and supporting custom borders & selectors.
*/
public class CircularImageView extends ImageView {
// For logging purposes
private static final String TAG = CircularImageView.class.getSimpleName();
// Default property values
private static final boolean SHADOW_ENABLED = false;
private static final float SHADOW_RADIUS = 4f;
private static final float SHADOW_DX = 0f;
private static final float SHADOW_DY = 2f;
private static final int SHADOW_COLOR = Color.BLACK;
// Border & Selector configuration variables
private boolean hasBorder;
private boolean hasSelector;
private boolean isSelected;
private int borderWidth;
private int canvasSize;
private int selectorStrokeWidth;
// Shadow properties
private boolean shadowEnabled;
private float shadowRadius;
private float shadowDx;
private float shadowDy;
private int shadowColor;
// Objects used for the actual drawing
private BitmapShader shader;
private Bitmap image;
private Paint paint;
private Paint paintBorder;
private Paint paintSelectorBorder;
private ColorFilter selectorFilter;
public CircularImageView(Context context) {
this(context, null,
R.styleable.CircularImageViewStyle_circularImageViewDefault);
}
public CircularImageView(Context context, AttributeSet attrs) {
this(context, attrs, R.styleable.CircularImageViewStyle_circularImageViewDefault);
}
public CircularImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context, attrs, defStyleAttr);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public CircularImageView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init(context, attrs, defStyleAttr);
}
/**
* Initializes paint objects and sets desired attributes.
* @param context Context
* @param attrs Attributes
* @param defStyle Default Style
*/
private void init(Context context, AttributeSet attrs, int defStyle) {
// Initialize paint objects
paint = new Paint();
paint.setAntiAlias(true);
paintBorder = new Paint();
paintBorder.setAntiAlias(true);
paintBorder.setStyle(Paint.Style.STROKE);
paintSelectorBorder = new Paint();
paintSelectorBorder.setAntiAlias(true);
// Enable software rendering on HoneyComb and up. (needed for shadow)
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
setLayerType(LAYER_TYPE_SOFTWARE, null);
// Load the styled attributes and set their properties
TypedArray attributes = context.obtainStyledAttributes(attrs, R.styleable.CircularImageView, defStyle, 0);
// Check for extra features being enabled
hasBorder = attributes.getBoolean(R.styleable.CircularImageView_civ_border, false);
hasSelector = attributes.getBoolean(R.styleable.CircularImageView_civ_selector, false);
shadowEnabled = attributes.getBoolean(R.styleable.CircularImageView_civ_shadow, SHADOW_ENABLED);
// Set border properties, if enabled
if(hasBorder) {
int defaultBorderSize = (int) (2 * context.getResources().getDisplayMetrics().density + 0.5f);
setBorderWidth(attributes.getDimensionPixelOffset(R.styleable.CircularImageView_civ_borderWidth, defaultBorderSize));
setBorderColor(attributes.getColor(R.styleable.CircularImageView_civ_borderColor, Color.WHITE));
}
// Set selector properties, if enabled
if(hasSelector) {
int defaultSelectorSize = (int) (2 * context.getResources().getDisplayMetrics().density + 0.5f);
setSelectorColor(attributes.getColor(R.styleable.CircularImageView_civ_selectorColor, Color.TRANSPARENT));
setSelectorStrokeWidth(attributes.getDimensionPixelOffset(R.styleable.CircularImageView_civ_selectorStrokeWidth, defaultSelectorSize));
setSelectorStrokeColor(attributes.getColor(R.styleable.CircularImageView_civ_selectorStrokeColor, Color.BLUE));
}
// Set shadow properties, if enabled
if(shadowEnabled) {
shadowRadius = attributes.getFloat(R.styleable.CircularImageView_civ_shadowRadius, SHADOW_RADIUS);
shadowDx = attributes.getFloat(R.styleable.CircularImageView_civ_shadowDx, SHADOW_DX);
shadowDy = attributes.getFloat(R.styleable.CircularImageView_civ_shadowDy, SHADOW_DY);
shadowColor = attributes.getColor(R.styleable.CircularImageView_civ_shadowColor, SHADOW_COLOR);
setShadowEnabled(true);
}
// We no longer need our attributes TypedArray, give it back to cache
attributes.recycle();
}
/**
* Sets the CircularImageView's border width in pixels.
* @param borderWidth Width in pixels for the border.
*/
public void setBorderWidth(int borderWidth) {
this.borderWidth = borderWidth;
if(paintBorder != null)
paintBorder.setStrokeWidth(borderWidth);
requestLayout();
invalidate();
}
/**
* Sets the CircularImageView's basic border color.
* @param borderColor The new color (including alpha) to set the border.
*/
public void setBorderColor(int borderColor) {
if (paintBorder != null)
paintBorder.setColor(borderColor);
this.invalidate();
}
/**
* Sets the color of the selector to be draw over the
* CircularImageView. Be sure to provide some opacity.
* @param selectorColor The color (including alpha) to set for the selector overlay.
*/
public void setSelectorColor(int selectorColor) {
this.selectorFilter = new PorterDuffColorFilter(selectorColor, PorterDuff.Mode.SRC_ATOP);
this.invalidate();
}
/**
* Sets the stroke width to be drawn around the CircularImageView
* during click events when the selector is enabled.
* @param selectorStrokeWidth Width in pixels for the selector stroke.
*/
public void setSelectorStrokeWidth(int selectorStrokeWidth) {
this.selectorStrokeWidth = selectorStrokeWidth;
this.requestLayout();
this.invalidate();
}
/**
* Sets the stroke color to be drawn around the CircularImageView
* during click events when the selector is enabled.
* @param selectorStrokeColor The color (including alpha) to set for the selector stroke.
*/
public void setSelectorStrokeColor(int selectorStrokeColor) {
if (paintSelectorBorder != null)
paintSelectorBorder.setColor(selectorStrokeColor);
this.invalidate();
}
/**
* Enables a dark shadow for this CircularImageView.
* @param enabled Set to true to draw a shadow or false to disable it.
*/
public void setShadowEnabled(boolean enabled) {
shadowEnabled = enabled;
updateShadow();
}
/**
* Enables a dark shadow for this CircularImageView.
* If the radius is set to 0, the shadow is removed.
* @param radius Radius for the shadow to extend to.
* @param dx Horizontal shadow offset.
* @param dy Vertical shadow offset.
* @param color The color of the shadow to apply.
*/
public void setShadow(float radius, float dx, float dy, int color) {
shadowRadius = radius;
shadowDx = dx;
shadowDy = dy;
shadowColor = color;
updateShadow();
}
@Override
public void onDraw(Canvas canvas) {
// Don't draw anything without an image
if(image == null)
return;
// Nothing to draw (Empty bounds)
if(image.getHeight() == 0 || image.getWidth() == 0)
return;
// Update shader if canvas size has changed
int oldCanvasSize = canvasSize;
canvasSize = getWidth() < getHeight() ? getWidth() : getHeight();
if(oldCanvasSize != canvasSize)
updateBitmapShader();
// Apply shader to paint
paint.setShader(shader);
// Keep track of selectorStroke/border width
int outerWidth = 0;
// Get the exact X/Y axis of the view
int center = canvasSize / 2;
if(hasSelector && isSelected) { // Draw the selector stroke & apply the selector filter, if applicable
outerWidth = selectorStrokeWidth;
center = (canvasSize - (outerWidth * 2)) / 2;
paint.setColorFilter(selectorFilter);
canvas.drawCircle(center + outerWidth, center + outerWidth, ((canvasSize - (outerWidth * 2)) / 2) + outerWidth - 4.0f, paintSelectorBorder);
}
else if(hasBorder) { // If no selector was drawn, draw a border and clear the filter instead... if enabled
outerWidth = borderWidth;
center = (canvasSize - (outerWidth * 2)) / 2;
paint.setColorFilter(null);
RectF rekt = new RectF(0 + outerWidth / 2, 0 + outerWidth / 2, canvasSize - outerWidth / 2, canvasSize - outerWidth / 2);
canvas.drawArc(rekt, 360, 360, false, paintBorder);
//canvas.drawCircle(center + outerWidth, center + outerWidth, ((canvasSize - (outerWidth * 2)) / 2) + outerWidth - 4.0f, paintBorder);
}
else // Clear the color filter if no selector nor border were drawn
paint.setColorFilter(null);
// Draw the circular image itself
canvas.drawCircle(center + outerWidth, center + outerWidth, ((canvasSize - (outerWidth * 2)) / 2), paint);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
// Check for clickable state and do nothing if disabled
if(!this.isClickable()) {
this.isSelected = false;
return super.onTouchEvent(event);
}
// Set selected state based on Motion Event
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
this.isSelected = true;
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_SCROLL:
case MotionEvent.ACTION_OUTSIDE:
case MotionEvent.ACTION_CANCEL:
this.isSelected = false;
break;
}
// Redraw image and return super type
this.invalidate();
return super.dispatchTouchEvent(event);
}
@Override
public void setImageURI(Uri uri) {
super.setImageURI(uri);
// Extract a Bitmap out of the drawable & set it as the main shader
image = drawableToBitmap(getDrawable());
if(canvasSize > 0)
updateBitmapShader();
}
@Override
public void setImageResource(int resId) {
super.setImageResource(resId);
// Extract a Bitmap out of the drawable & set it as the main shader
image = drawableToBitmap(getDrawable());
if(canvasSize > 0)
updateBitmapShader();
}
@Override
public void setImageDrawable(Drawable drawable) {
super.setImageDrawable(drawable);
// Extract a Bitmap out of the drawable & set it as the main shader
image = drawableToBitmap(getDrawable());
if(canvasSize > 0)
updateBitmapShader();
}
@Override
public void setImageBitmap(Bitmap bm) {
super.setImageBitmap(bm);
// Extract a Bitmap out of the drawable & set it as the main shader
image = bm;
if(canvasSize > 0)
updateBitmapShader();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = measureWidth(widthMeasureSpec);
int height = measureHeight(heightMeasureSpec);
setMeasuredDimension(width, height);
}
private int measureWidth(int measureSpec) {
int result;
int specMode = MeasureSpec.getMode(measureSpec);
int specSize = MeasureSpec.getSize(measureSpec);
if (specMode == MeasureSpec.EXACTLY) {
// The parent has determined an exact size for the child.
result = specSize;
}
else if (specMode == MeasureSpec.AT_MOST) {
// The child can be as large as it wants up to the specified size.
result = specSize;
}
else {
// The parent has not imposed any constraint on the child.
result = canvasSize;
}
return result;
}
private int measureHeight(int measureSpecHeight) {
int result;
int specMode = MeasureSpec.getMode(measureSpecHeight);
int specSize = MeasureSpec.getSize(measureSpecHeight);
if (specMode == MeasureSpec.EXACTLY) {
// We were told how big to be
result = specSize;
} else if (specMode == MeasureSpec.AT_MOST) {
// The child can be as large as it wants up to the specified size.
result = specSize;
} else {
// Measure the text (beware: ascent is a negative number)
result = canvasSize;
}
return (result + 2);
}
// TODO: Update shadow layers based on border/selector state and visibility.
private void updateShadow() {
final float radius = shadowEnabled ? shadowRadius : 0;
//paint.setShadowLayer(radius, shadowDx, shadowDy, shadowColor);
paintBorder.setShadowLayer(radius, shadowDx, shadowDy, shadowColor);
paintSelectorBorder.setShadowLayer(radius, shadowDx, shadowDy, shadowColor);
}
/**
* Convert a drawable object into a Bitmap.
* @param drawable Drawable to extract a Bitmap from.
* @return A Bitmap created from the drawable parameter.
*/
public Bitmap drawableToBitmap(Drawable drawable) {
if (drawable == null) // Don't do anything without a proper drawable
return null;
else if (drawable instanceof BitmapDrawable) { // Use the getBitmap() method instead if BitmapDrawable
Log.i(TAG, "Bitmap drawable!");
return ((BitmapDrawable) drawable).getBitmap();
}
int intrinsicWidth = drawable.getIntrinsicWidth();
int intrinsicHeight = drawable.getIntrinsicHeight();
if (!(intrinsicWidth > 0 && intrinsicHeight > 0))
return null;
try {
// Create Bitmap object out of the drawable
Bitmap bitmap = Bitmap.createBitmap(intrinsicWidth, intrinsicHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
} catch (OutOfMemoryError e) {
// Simply return null of failed bitmap creations
Log.e(TAG, "Encountered OutOfMemoryError while generating bitmap!");
return null;
}
}
// TODO TEST REMOVE
public void setIconModeEnabled(final boolean e) {}
/**
* Re-initializes the shader texture used to fill in
* the Circle upon drawing.
*/
public void updateBitmapShader() {
if (image == null)
return;
shader = new BitmapShader(image, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
if(canvasSize != image.getWidth() || canvasSize != image.getHeight()) {
Matrix matrix = new Matrix();
float scale = (float) canvasSize / (float) image.getWidth();
matrix.setScale(scale, scale);
shader.setLocalMatrix(matrix);
}
}
/**
* @return Whether or not this view is currently
* in its selected state.
*/
public boolean isSelected() {
return this.isSelected;
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/FastBinding.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.modules;
import android.content.Context;
import android.content.Intent;
import androidx.annotation.IdRes;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.PullToRefreshActivity;
import com.marshalchen.ultimaterecyclerview.demo.griddemo.GridLayoutRVTest;
import com.marshalchen.ultimaterecyclerview.demo.multiitemdemo.MultiViewTypesActivity;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.admobdemo.TestAdMobClassicActivity;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.DebugLoadMoreActivity;
import com.marshalchen.ultimaterecyclerview.demo.admobdemo.TestAdvancedAdmobActivity;
import com.marshalchen.ultimaterecyclerview.demo.scrollableobservable.ScrollObservablesActivity;
import com.marshalchen.ultimaterecyclerview.demo.expandemo.TestExpandableRV;
import com.marshalchen.ultimaterecyclerview.demo.loadmoredemo.SwipeListViewExampleActivity;
/**
* Created by hesk on 7/1/2015.
*/
public enum FastBinding {
action_bottom(R.id.action_bottom, MultiViewTypesActivity.class),
action_custom(R.id.action_custom, PullToRefreshActivity.class),
admob(R.id.admob, TestAdMobClassicActivity.class),
scrollactivity(R.id.scrollactivity, ScrollObservablesActivity.class),
swipe_and_drag(R.id.swipe_and_drag, SwipeListViewExampleActivity.class),
debug_load_more(R.id.debug_load_more, DebugLoadMoreActivity.class),
advancedAdmob(R.id.adv_admob, TestAdvancedAdmobActivity.class),
gridlayouttesting(R.id.gridlayoutperformance, GridLayoutRVTest.class),
expandmenu(R.id.expandmenu, TestExpandableRV.class);
private int id;
private Class<?> clazz;
FastBinding(final @IdRes int id, Class<?> clazz) {
this.id = id;
this.clazz = clazz;
}
public Class<?> getClassName() {
return clazz;
}
public int getId() {
return id;
}
public static void startactivity(final Context ctx, final @IdRes int id) {
final int g = FastBinding.values().length;
for (int i = 0; i < g; i++) {
FastBinding bind = FastBinding.values()[i];
if (bind.getId() == id) {
Intent intent = new Intent(ctx, bind.getClassName());
ctx.startActivity(intent);
return;
}
}
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/JRitem.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.modules;
import androidx.annotation.DrawableRes;
/**
* Created by hesk on 3/2/16.
*/
public class JRitem {
@DrawableRes
public final int photo_id;
public final String train_name;
public JRitem(@DrawableRes final int photo_idjr, String name) {
photo_id = photo_idjr;
train_name = name;
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/MainWatcher.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.modules;
import android.app.Application;
import android.content.pm.ApplicationInfo;
/**
* Created by hesk on 2/10/15.
*/
public class MainWatcher extends Application {
@Override
public void onCreate() {
super.onCreate();
//CrashWoodpecker.fly().to(this);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/SampleDataboxset.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.modules;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.demo.admobdemo.ZeroStickyAdvertistmentAdapter;
import com.marshalchen.ultimaterecyclerview.demo.rvComponents.sectionZeroAdapter;
import com.marshalchen.ultimaterecyclerview.quickAdapter.easyRegularAdapter;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* Created by hesk on 7/1/2015.
*/
public class SampleDataboxset {
public static List<String> newList() {
final List<String> stringList = new ArrayList<>();
stringList.add("111");
stringList.add("TYAT");
stringList.add("BMW");
stringList.add("3M");
stringList.add("Apple");
stringList.add("Organe");
stringList.add("Nike");
stringList.add("Addos");
stringList.add("76 RE");
return stringList;
}
public static List<String> newList(int longh) {
final List<String> j = newList();
genItems(longh, j);
return j;
}
public static List<String> newListFromGen(int n) {
final List<String> s = new ArrayList<>();
genItems(n, s);
return s;
}
public static List<String> newListFromGen() {
final List<String> s = new ArrayList<>();
genItems(38, s);
return s;
}
public static void genItems(final int howmany, final List<String> list) {
for (int i = 0; i < howmany; i++) {
Random e = new Random();
list.add("No." + i + " " + girl_name[e.nextInt(girl_name.length)]);
}
}
public static void insertMore(easyRegularAdapter sd, int howmany) {
for (int i = 0; i < howmany; i++) {
sd.insertLast("More ** " + i);
}
}
public static void insertMoreWhole(easyRegularAdapter sd, int howmany) {
List<String> items = new ArrayList<>();
for (int i = 0; i < howmany; i++) {
items.add("More ** " + i);
}
sd.insert(items);
}
public static List<JRitem> genJRList(int counts) {
List<JRitem> items = new ArrayList<>();
for (int i = 0; i < counts; i++) {
items.add(genJRSingle());
}
return items;
}
public static JRitem genJRSingle() {
Random e = new Random();
JRitem bodu = new JRitem(SampleDataboxset.getGirlImageRandom(), girl_name[e.nextInt(girl_name.length)]);
return bodu;
}
public static int getGirlImageRandom() {
Random e = new Random();
return res[e.nextInt(res.length)];
}
public static void insertMore(ZeroStickyAdvertistmentAdapter sd, int howmany) {
for (int i = 0; i < howmany; i++) {
sd.insertFirst("More items " + i);
}
}
public static final Integer[] res = new Integer[]{
R.drawable.jr13,
R.drawable.jr16,
R.drawable.jr14,
R.drawable.jr15,
R.drawable.jr17,
R.drawable.jr1,
R.drawable.jr2,
R.drawable.jr3,
R.drawable.jr4,
R.drawable.jr5
};
public static final Integer[] res_scn = new Integer[]{
R.drawable.scn1,
R.drawable.scn2
};
public static final String[] girl_name = new String[]{
"Anna",
"Sindy",
"Venus",
"Pamela",
"Chantel",
"Lostus",
"Sephia",
"Sophy",
"YahoLee",
"Liza",
"Angel",
"Cristy",
"Gobby",
"Sophia",
"Nicole",
"Emily",
"Tiffany",
"Susan",
"Vicki",
"Eva",
"Ruby",
"Toby",
"Gobia",
"Victoria",
"Annus",
"Sammus",
"Sindia",
"Erica",
"Vivian",
"Septhanie",
"Fiona",
"Leonia",
"Karon"
};
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/TimeLineModel.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.modules;
/**
* Created by zJJ on 4/27/2016.
*/
public class TimeLineModel {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/ViewPagerAdapter.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.modules;
import androidx.viewpager.widget.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import com.marshalchen.ultimaterecyclerview.demo.R;
class ViewPagerAdapter extends PagerAdapter {
public Object instantiateItem(ViewGroup collection, int position) {
int resId = 0;
switch (position) {
case 0:
resId = R.id.primaryContentCardView;
break;
case 1:
resId = R.id.secondaryContentFrameLayout;
break;
}
return collection.findViewById(resId);
}
@Override
public int getCount() {
return 2;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/MultiViewTypesActivity.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.multiitemdemo;
import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.appcompat.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.marshalchen.ultimaterecyclerview.demo.R;
import com.marshalchen.ultimaterecyclerview.ui.divideritemdecoration.HorizontalDividerItemDecoration;
import java.util.ArrayList;
import java.util.List;
/**
* A activity which can be swiped to show bottom view with default horizontal divider item decoration.
*/
public class MultiViewTypesActivity extends AppCompatActivity {
UltimateRecyclerView ultimateRecyclerView;
MultiViewTypesRecyclerViewAdapter simpleRecyclerViewAdapter = null;
LinearLayoutManager linearLayoutManager;
int moreNum = 100;
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loadmore);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
ultimateRecyclerView = (UltimateRecyclerView) findViewById(R.id.ultimate_recycler_view);
ultimateRecyclerView.setHasFixedSize(false);
List<String> stringList = new ArrayList<>();
stringList.add("111");
stringList.add("aaa");
stringList.add("222");
stringList.add("33");
stringList.add("44");
stringList.add("55");
simpleRecyclerViewAdapter = new MultiViewTypesRecyclerViewAdapter(stringList);
simpleRecyclerViewAdapter.setCustomLoadMoreView(
LayoutInflater.from(this).inflate(R.layout.custom_bottom_progressbar, null));
// stringList.add("66");
// stringList.add("11771");
linearLayoutManager = new LinearLayoutManager(this);
ultimateRecyclerView.setLayoutManager(linearLayoutManager);
// ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
ultimateRecyclerView.setAdapter(simpleRecyclerViewAdapter);
ultimateRecyclerView.setDefaultOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
simpleRecyclerViewAdapter.insert("Refresh things", 0);
ultimateRecyclerView.setRefreshing(false);
// ultimateRecyclerView.scrollBy(0, -50);
linearLayoutManager.scrollToPosition(0);
}
}, 1000);
}
});
Paint paint = new Paint();
paint.setStrokeWidth(5);
paint.setColor(Color.BLUE);
paint.setAntiAlias(true);
paint.setPathEffect(new DashPathEffect(new float[]{25.0f, 25.0f}, 0));
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
ultimateRecyclerView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
ultimateRecyclerView.addItemDecoration(new HorizontalDividerItemDecoration.Builder(this).paint(paint).build());
// simpleRecyclerViewAdapter.ad
}
}
================================================
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/MultiViewTypesRecyclerViewAdapter.java
================================================
package com.marshalchen.ultimaterecyclerview.demo.multiitemdemo;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.marshalchen.ultimaterecyclerview.UltimateDifferentViewTypeAdapter;
import com.marshalchen.ultimaterecyclerview.UltimateRecyclerviewViewHolder;
import com.marshalchen.ultimaterecyclerview.demo.R;
import java.util.ArrayList;
import java.util.List;
public class MultiViewTypesRecyclerViewAdapter extends UltimateDifferentViewTypeAdapter {
private List<String> mDataset;
private enum SwipedState {
SHOWING_PRIMARY_CONTENT,
SHOWING_SECONDARY_CONTENT
}
private List<SwipedState> mItemSwipedStates;
// Provide a reference to the views for each data item
// Complex data items may need more than one view per item, and
// you provide access to all the views for a data item in a view holder
public static class ViewHolder extends UltimateRecyclerviewViewHolder {
// each data item is just a string in this case
public View mView;
public ViewHolder(View v) {
super(v);
mView = v;
}
}
// Provide a suitable constructor (depends on the kind of dataset)
public MultiViewTypesRecyclerViewAdapter(List<String> dataSet) {
mDataset = dataSet;
mItemSwipedStates = new ArrayList<>();
for (int i = 0; i < dataSet.size(); i++) {
mItemSwipedStates.add(i, SwipedState.SHOWING_PRIMARY_CONTENT);
}
putBinder(SampleViewType.SAMPLE1, new Sample1Binder(this, dataSet));
putBinder(SampleViewType.SAMPLE2, new Sample2Binder(this, dataSet));
putBinder(SampleViewType.SAMPLE3, new Sample1Binder(this, dataSet));
// ((Sample2Binder) getDataBinder(SampleViewType.SAMPLE2)).addAll(dataSet);
}
public void insert(String string, int position) {
insertInternal(mDataset, string, position);
}
public void remove(int position) {
removeInternal(mDataset, position);
}
/**
* requirement: FOOTER, HEADER. it does not bind and need to do that in the header binding
*
* @param view with no binding view of nothing
* @return v
*/
@Override
public RecyclerView.ViewHolder newFooterHolder(View view) {
return new UltimateRecyclerviewViewHolder<>(view);
}
@Override
public RecyclerView.ViewHolder newHeaderHolder(View view) {
return new UltimateRecyclerviewViewHolder<>(view);
}
@Override
public UltimateRecyclerviewViewHolder onCreateViewHolder(ViewGroup parent) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.rv_item_linear, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Overr
gitextract_br_37l1j/ ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── UltimateRecyclerView/ │ ├── app/ │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── androidTest/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── marshalchen/ │ │ │ └── ultimaterecyclerview/ │ │ │ └── demo/ │ │ │ └── ApplicationTest.java │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── marshalchen/ │ │ │ └── ultimaterecyclerview/ │ │ │ └── demo/ │ │ │ ├── LauncherActivity.java │ │ │ ├── MainList.java │ │ │ ├── SimpleAdapter.java │ │ │ ├── admobdemo/ │ │ │ │ ├── SingleItemCommonLayout.java │ │ │ │ ├── SingleItemHolder.java │ │ │ │ ├── TestAdMobClassicActivity.java │ │ │ │ ├── TestAdvancedAdmobActivity.java │ │ │ │ └── ZeroStickyAdvertistmentAdapter.java │ │ │ ├── dragdemo/ │ │ │ │ ├── DragActivity.java │ │ │ │ └── DragAdatper.java │ │ │ ├── expandemo/ │ │ │ │ ├── Category.java │ │ │ │ ├── ExpCustomAdapter.java │ │ │ │ ├── SubCategory.java │ │ │ │ └── TestExpandableRV.java │ │ │ ├── griddemo/ │ │ │ │ ├── GridJRAdapter.java │ │ │ │ ├── GridLayoutRVTest.java │ │ │ │ ├── GridStringAdapter.java │ │ │ │ └── GridTestOnlyOnePage.java │ │ │ ├── loadmoredemo/ │ │ │ │ ├── BasicFunctions.java │ │ │ │ ├── DebugLoadMoreActivity.java │ │ │ │ ├── DebugNoHeaderLoadMoreActivity.java │ │ │ │ ├── FinalEmptyViewDisplayActivity.java │ │ │ │ ├── FirstPageCancelLoadMore.java │ │ │ │ ├── LineNodeActivity.java │ │ │ │ ├── PullToRefreshActivity.java │ │ │ │ ├── Route.java │ │ │ │ ├── SliderHeader.java │ │ │ │ ├── StaggerLoadMoreActivity.java │ │ │ │ └── SwipeListViewExampleActivity.java │ │ │ ├── modules/ │ │ │ │ ├── AbstractDataProvider.java │ │ │ │ ├── CircularImageView.java │ │ │ │ ├── FastBinding.java │ │ │ │ ├── JRitem.java │ │ │ │ ├── MainWatcher.java │ │ │ │ ├── SampleDataboxset.java │ │ │ │ ├── TimeLineModel.java │ │ │ │ └── ViewPagerAdapter.java │ │ │ ├── multiitemdemo/ │ │ │ │ ├── MultiViewTypesActivity.java │ │ │ │ ├── MultiViewTypesRecyclerViewAdapter.java │ │ │ │ ├── Sample1Binder.java │ │ │ │ └── Sample2Binder.java │ │ │ ├── rvComponents/ │ │ │ │ ├── SimpleAnimationAdapter.java │ │ │ │ ├── SwipeAdapter.java │ │ │ │ ├── TimeLineAdapter.java │ │ │ │ ├── itemCommonBinder.java │ │ │ │ ├── itemGridCellBinder.java │ │ │ │ ├── itemNode.java │ │ │ │ ├── itemStaggerCommonBinder.java │ │ │ │ ├── sectionCommonAdapter.java │ │ │ │ ├── sectionZeroAdapter.java │ │ │ │ └── staggerAdapter.java │ │ │ ├── scrollableobservable/ │ │ │ │ ├── BaseActivity.java │ │ │ │ ├── BaseFragment.java │ │ │ │ ├── ScrollObservablesActivity.java │ │ │ │ ├── ViewPagerFragmentListSingle.java │ │ │ │ ├── ViewPagerTabFragmentParentFragment.java │ │ │ │ └── widget/ │ │ │ │ ├── SlidingTabLayout.java │ │ │ │ └── SlidingTabStrip.java │ │ │ └── swiplistdemo/ │ │ │ └── PackageAdapter.java │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── ic_add_24dp.xml │ │ │ ├── ic_autorenew_24dp.xml │ │ │ ├── ic_blur_linear_24dp.xml │ │ │ ├── ic_bug_report_24dp.xml │ │ │ ├── ic_exposure_plus_1_24dp.xml │ │ │ ├── ic_extension_24dp.xml │ │ │ ├── ic_remove_24dp.xml │ │ │ └── toptint.xml │ │ ├── drawable-mdpi/ │ │ │ └── custom_drag_frame.xml │ │ ├── drawable-xxhdpi/ │ │ │ └── item_selector.xml │ │ ├── layout/ │ │ │ ├── activity_drag.xml │ │ │ ├── activity_launcher.xml │ │ │ ├── activity_loadmore.xml │ │ │ ├── activity_main.xml │ │ │ ├── countable_rv_adp.xml │ │ │ ├── custom_bottom_progressbar.xml │ │ │ ├── custom_refresh_activity.xml │ │ │ ├── empty_view.xml │ │ │ ├── empty_view_v2.xml │ │ │ ├── exp_child.xml │ │ │ ├── exp_parent.xml │ │ │ ├── floating_view.xml │ │ │ ├── floatingbutton_grid_layout.xml │ │ │ ├── grid_item.xml │ │ │ ├── header_love.xml │ │ │ ├── item_node.xml │ │ │ ├── item_swipeable.xml │ │ │ ├── list_item.xml │ │ │ ├── list_item_header.xml │ │ │ ├── listurv.xml │ │ │ ├── package_row.xml │ │ │ ├── parallax_recyclerview_header.xml │ │ │ ├── recycler_view_adapter.xml │ │ │ ├── rv_item_linear.xml │ │ │ ├── rv_item_stagger.xml │ │ │ ├── rv_sample_1.xml │ │ │ ├── rv_sample_2.xml │ │ │ ├── simple_scroll_activity.xml │ │ │ ├── simplefragment_viewpager_tabhost.xml │ │ │ ├── simplefragment_viewpaper_fragment_parent.xml │ │ │ ├── stick_header_item.xml │ │ │ ├── swipe_list_view_activity.xml │ │ │ ├── tab_indicator.xml │ │ │ └── toolbar_loadmore.xml │ │ ├── menu/ │ │ │ ├── admenu.xml │ │ │ └── menu_main.xml │ │ ├── values/ │ │ │ ├── CirclarImageViewCustomStyle.xml │ │ │ ├── arrays.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── ids.xml │ │ │ ├── scollables.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── values-w820dp/ │ │ └── dimens.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── ultimaterecyclerview/ │ ├── android-release-aar.gradle │ ├── bintray-release-aar.gradle │ ├── bintray_3_4.gradle │ ├── build.gradle │ ├── gradle.properties │ ├── maven-push.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── marshalchen/ │ │ └── ultimaterecyclerview/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── marshalchen/ │ │ └── ultimaterecyclerview/ │ │ ├── CustomUltimateRecyclerview.java │ │ ├── DragDropTouchListener.java │ │ ├── ItemTouchListenerAdapter.java │ │ ├── NormalUltimateViewAdapter.java │ │ ├── ObservableScrollState.java │ │ ├── ObservableScrollViewCallbacks.java │ │ ├── RecyclerItemClickListener.java │ │ ├── Scrollable.java │ │ ├── SwipeDismissTouchListener.java │ │ ├── SwipeableUltimateRecyclerview.java │ │ ├── SwipeableUltimateViewAdapter.java │ │ ├── URLogs.java │ │ ├── UltimateDifferentViewTypeAdapter.java │ │ ├── UltimateGridLayoutAdapter.java │ │ ├── UltimateRecyclerView.java │ │ ├── UltimateRecyclerviewViewHolder.java │ │ ├── UltimateViewAdapter.java │ │ ├── appPaginator/ │ │ │ ├── PageControlConst.java │ │ │ ├── catelogGrid.java │ │ │ ├── catelogLinear.java │ │ │ ├── paginator.java │ │ │ └── v4/ │ │ │ ├── catelogGrid.java │ │ │ ├── catelogLinear.java │ │ │ └── paginator.java │ │ ├── dragsortadapter/ │ │ │ ├── DragInfo.java │ │ │ ├── DragManager.java │ │ │ ├── DragSortAdapter.java │ │ │ ├── DragSortShadowBuilder.java │ │ │ └── NoForegroundShadowBuilder.java │ │ ├── expanx/ │ │ │ ├── ExpandableItemData.java │ │ │ ├── LinearExpanxURVAdapter.java │ │ │ ├── SmartItem.java │ │ │ ├── Util/ │ │ │ │ ├── BaseViewHolder.java │ │ │ │ ├── ChildClickListener.java │ │ │ │ ├── ChildVH.java │ │ │ │ ├── DataUtil.java │ │ │ │ ├── ItemDataClickListener.java │ │ │ │ ├── OnScrollToListener.java │ │ │ │ ├── ParentVH.java │ │ │ │ ├── child.java │ │ │ │ ├── easyTemplateChild.java │ │ │ │ ├── easyTemplateParent.java │ │ │ │ └── parent.java │ │ │ └── customizedAdapter.java │ │ ├── grid/ │ │ │ ├── BasicGridLayoutManager.java │ │ │ ├── GridPaddingDecorator.java │ │ │ ├── GridSpacingItemDecoration.java │ │ │ └── customSectionGridAdapter.java │ │ ├── gridSection/ │ │ │ ├── HeaderViewHolder.java │ │ │ ├── SectionedRecyclerViewAdapter.java │ │ │ ├── SectionedSpanSizeLookup.java │ │ │ └── SimpleSectionedAdapter.java │ │ ├── itemTouchHelper/ │ │ │ ├── ItemTouchHelperAdapter.java │ │ │ ├── ItemTouchHelperViewHolder.java │ │ │ └── SimpleItemTouchHelperCallback.java │ │ ├── layoutmanagers/ │ │ │ ├── ClassicSpanGridLayoutManager.java │ │ │ ├── CustomLinearLayoutManager.java │ │ │ └── ScrollSmoothLineaerLayoutManager.java │ │ ├── multiViewTypes/ │ │ │ └── DataBinder.java │ │ ├── quickAdapter/ │ │ │ ├── AdItemHolder.java │ │ │ ├── AdmobAdapter.java │ │ │ ├── BiAdAdapterSwitcher.java │ │ │ ├── StaggerHolder.java │ │ │ ├── easyRegularAdapter.java │ │ │ ├── extBaseAdapter/ │ │ │ │ ├── BaseAdapterHelper.java │ │ │ │ ├── BaseQuickAdapter.java │ │ │ │ ├── EnhancedQuickAdapter.java │ │ │ │ └── QuickAdapter.java │ │ │ └── extUtimateRVA/ │ │ │ └── MultiItemTypeSupport.java │ │ ├── stickyheadersrecyclerview/ │ │ │ ├── HeaderPositionCalculator.java │ │ │ ├── StickyRecyclerHeadersAdapter.java │ │ │ ├── StickyRecyclerHeadersDecoration.java │ │ │ ├── StickyRecyclerHeadersTouchListener.java │ │ │ ├── caching/ │ │ │ │ ├── HeaderProvider.java │ │ │ │ └── HeaderViewCache.java │ │ │ ├── calculation/ │ │ │ │ └── DimensionCalculator.java │ │ │ ├── rendering/ │ │ │ │ └── HeaderRenderer.java │ │ │ └── util/ │ │ │ ├── LinearLayoutOrientationProvider.java │ │ │ └── OrientationProvider.java │ │ ├── swipe/ │ │ │ ├── SimpleSwipeListener.java │ │ │ ├── SwipeItemManagerImpl.java │ │ │ ├── SwipeItemManagerInterface.java │ │ │ └── SwipeLayout.java │ │ ├── swipelistview/ │ │ │ ├── BaseSwipeListViewListener.java │ │ │ ├── SwipeListView.java │ │ │ ├── SwipeListViewListener.java │ │ │ └── SwipeListViewTouchListener.java │ │ ├── ui/ │ │ │ ├── AdGoogleDisplaySupport.java │ │ │ ├── AnimationType.java │ │ │ ├── CustomPtr.java │ │ │ ├── DividerItemDecoration.java │ │ │ ├── VerticalSwipeRefreshLayout.java │ │ │ ├── divideritemdecoration/ │ │ │ │ ├── FlexibleDividerDecoration.java │ │ │ │ ├── HorizontalDividerItemDecoration.java │ │ │ │ └── VerticalDividerItemDecoration.java │ │ │ ├── emptyview/ │ │ │ │ └── emptyViewOnShownListener.java │ │ │ ├── floatingactionbutton/ │ │ │ │ ├── AddFloatingActionButton.java │ │ │ │ ├── FloatingActionButton.java │ │ │ │ ├── FloatingActionsMenu.java │ │ │ │ └── JellyBeanFloatingActionButton.java │ │ │ ├── header/ │ │ │ │ ├── HeaderItemDecoration.java │ │ │ │ ├── HeaderShadowDecoration.java │ │ │ │ └── RecyclerViewHeader.java │ │ │ ├── swipe/ │ │ │ │ ├── SwipeableRecyclerViewTouchListener.java │ │ │ │ └── defaultRegularSwipe.java │ │ │ └── timelineview/ │ │ │ ├── LineType.java │ │ │ └── TimelineView.java │ │ └── uiUtils/ │ │ ├── CacheFragmentStatePagerAdapter.java │ │ ├── RecyclerViewPositionHelper.java │ │ ├── SavedStateScrolling.java │ │ ├── ScrollUtils.java │ │ └── TouchInterceptionLayout.java │ └── res/ │ ├── drawable/ │ │ ├── drag_frame.xml │ │ └── timelinedefaultmarker.xml │ ├── drawable-v14/ │ │ └── timelinedefaultmarker.xml │ ├── layout/ │ │ ├── bottom_progressbar.xml │ │ ├── custom_recycler_view_layout.xml │ │ ├── empty_progressbar.xml │ │ ├── horizontal_recycler_view.xml │ │ ├── slm_header.xml │ │ ├── swipeable_ultimate_recycler_view_layout.xml │ │ ├── ultimate_recycler_view_layout.xml │ │ └── vertical_recycler_view.xml │ └── values/ │ ├── attrs.xml │ ├── color.xml │ ├── dimens.xml │ ├── ids.xml │ ├── strings.xml │ └── styles.xml ├── UpcomingChanges.md └── _config.yml
SYMBOL INDEX (2124 symbols across 173 files)
FILE: UltimateRecyclerView/app/src/androidTest/java/com/marshalchen/ultimaterecyclerview/demo/ApplicationTest.java
class ApplicationTest (line 9) | public class ApplicationTest extends ApplicationTestCase<Application> {
method ApplicationTest (line 10) | public ApplicationTest() {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/LauncherActivity.java
class LauncherActivity (line 37) | public class LauncherActivity extends AppCompatActivity implements Actio...
method onCreate (line 49) | @Override
method toggleSelection (line 221) | private void toggleSelection(int position) {
method onDestroy (line 226) | @Override
method getScreenHeight (line 233) | public int getScreenHeight() {
method onCreateActionMode (line 237) | @Override
method onPrepareActionMode (line 252) | @Override
method onActionItemClicked (line 260) | @Override
method onDestroyActionMode (line 266) | @Override
method onCreateOptionsMenu (line 273) | @Override
method onOptionsItemSelected (line 280) | @Override
type Type (line 286) | enum Type {
method Type (line 311) | Type(BaseItemAnimator animator) {
method getAnimator (line 315) | public BaseItemAnimator getAnimator() {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/MainList.java
class MainList (line 34) | public class MainList extends AppCompatActivity implements AdapterView.O...
method onCreate (line 39) | @Override
method initList (line 55) | public void initList() {
method onItemClick (line 74) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/SimpleAdapter.java
class SimpleAdapter (line 25) | public class SimpleAdapter extends UltimateViewAdapter {
method SimpleAdapter (line 28) | public SimpleAdapter(List<String> stringList) {
method onBindViewHolder (line 33) | @Override
method getAdapterItemCount (line 61) | @Override
method newFooterHolder (line 66) | @Override
method newHeaderHolder (line 72) | @Override
method onCreateViewHolder (line 77) | @Override
method insert (line 86) | public void insert(String string, int position) {
method remove (line 90) | public void remove(int position) {
method clear (line 94) | public void clear() {
method swapPositions (line 99) | public void swapPositions(int from, int to) {
method generateHeaderId (line 104) | @Override
method onCreateHeaderViewHolder (line 112) | @Override
method onBindHeaderViewHolder (line 120) | @Override
method onItemMove (line 144) | @Override
method onItemDismiss (line 154) | @Override
method setOnDragStartListener (line 172) | public void setOnDragStartListener(OnStartDragListener dragStartListen...
class ViewHolder (line 177) | class ViewHolder extends UltimateRecyclerviewViewHolder {
method ViewHolder (line 184) | public ViewHolder(View itemView) {
method onItemSelected (line 208) | @Override
method onItemClear (line 213) | @Override
method getItem (line 219) | public String getItem(int position) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/SingleItemCommonLayout.java
class SingleItemCommonLayout (line 16) | public class SingleItemCommonLayout extends AdItemHolder {
method SingleItemCommonLayout (line 22) | public SingleItemCommonLayout(View itemView, int type) {
method bindNormal (line 26) | @Override
method bindAd (line 35) | @Override
method onItemSelected (line 41) | @Override
method onItemClear (line 46) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/SingleItemHolder.java
class SingleItemHolder (line 16) | public class SingleItemHolder extends AdItemHolder implements
method SingleItemHolder (line 22) | public SingleItemHolder(View itemView, int type) {
method bindNormal (line 26) | @Override
method bindAd (line 35) | @Override
method onClick (line 40) | @Override
method onLongClick (line 45) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/TestAdMobClassicActivity.java
class TestAdMobClassicActivity (line 29) | public class TestAdMobClassicActivity extends AppCompatActivity {
method createadmob (line 42) | private AdView createadmob() {
method enableSwipe (line 57) | private void enableSwipe() {
method enableRefresh (line 62) | private void enableRefresh() {
method enableLoadMore (line 78) | private void enableLoadMore() {
method enableEmptyView (line 96) | private void enableEmptyView() {
method enableClick (line 103) | private void enableClick() {
method impleAddDrop (line 108) | private void impleAddDrop() {
method onCreate (line 130) | @Override
method toggleSelection (line 160) | private void toggleSelection(int position) {
method onDestroy (line 165) | @Override
method getScreenHeight (line 170) | public int getScreenHeight() {
method onCreateOptionsMenu (line 174) | @Override
method onOptionsItemSelected (line 181) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/TestAdvancedAdmobActivity.java
class TestAdvancedAdmobActivity (line 36) | public class TestAdvancedAdmobActivity extends AppCompatActivity {
class adap (line 43) | public static class adap extends AdmobAdapter<RelativeLayout, String, ...
method adap (line 45) | public adap(RelativeLayout v, List<String> L) {
method getNormalLayoutResId (line 50) | @Override
method newViewHolder (line 56) | @Override
method withBindHolder (line 68) | @Override
class regular (line 75) | public static class regular extends easyRegularAdapter<String, SingleI...
method regular (line 77) | public regular(List list) {
method getNormalLayoutResId (line 81) | @Override
method newViewHolder (line 86) | @Override
method withBindHolder (line 91) | @Override
method bindthisInhere (line 97) | private static void bindthisInhere(SingleItemHolder d, String data, in...
method getIdRV (line 102) | private static int getIdRV() {
method createadmob (line 106) | private RelativeLayout createadmob() {
method imple_switch_view (line 163) | private BiAdAdapterSwitcher imple_switch_view(final UltimateRecyclerVi...
method onCreate (line 172) | @Override
method remove_all_items (line 238) | private void remove_all_items() {
method setup_spinner (line 242) | private void setup_spinner() {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/admobdemo/ZeroStickyAdvertistmentAdapter.java
class ZeroStickyAdvertistmentAdapter (line 14) | public class ZeroStickyAdvertistmentAdapter extends AdmobAdapter<AdView,...
method ZeroStickyAdvertistmentAdapter (line 17) | public ZeroStickyAdvertistmentAdapter(AdView v, List<String> f) {
method ZeroStickyAdvertistmentAdapter (line 21) | public ZeroStickyAdvertistmentAdapter(AdView v, int e, List<String> f,...
method getNormalLayoutResId (line 25) | @Override
method newViewHolder (line 30) | @Override
method withBindHolder (line 43) | @Override
method onBindHeaderViewHolder (line 48) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/dragdemo/DragActivity.java
class DragActivity (line 19) | public class DragActivity extends AppCompatActivity {
method onCreate (line 27) | @Override
method onDestroy (line 86) | @Override
method onCreateOptionsMenu (line 93) | @Override
method onOptionsItemSelected (line 100) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/dragdemo/DragAdatper.java
class DragAdatper (line 21) | public class DragAdatper extends DragSortAdapter<DragAdatper.MainViewHol...
method DragAdatper (line 24) | public DragAdatper(RecyclerView recyclerView, List<Integer> data) {
method onCreateViewHolder (line 29) | @Override public MainViewHolder onCreateViewHolder(ViewGroup parent, i...
method onBindViewHolder (line 38) | @Override public void onBindViewHolder(final MainViewHolder holder, fi...
method getItemId (line 46) | @Override public long getItemId(int position) {
method convertToOriginalPosition (line 50) | protected static int convertToOriginalPosition(int position, int dragI...
method getItemCount (line 74) | @Override public int getItemCount() {
method getPositionForId (line 78) | @Override public int getPositionForId(long id) {
method move (line 82) | @Override public boolean move(int fromPosition, int toPosition) {
class MainViewHolder (line 87) | static class MainViewHolder extends DragSortAdapter.ViewHolder implements
method MainViewHolder (line 95) | public MainViewHolder(DragSortAdapter adapter, View itemView) {
method onClick (line 104) | @Override public void onClick(@NonNull View v) {
method onLongClick (line 108) | @Override public boolean onLongClick(@NonNull View v) {
method getShadowBuilder (line 113) | @Override public View.DragShadowBuilder getShadowBuilder(View itemVi...
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/expandemo/Category.java
class Category (line 13) | public class Category extends easyTemplateParent<SmartItem, RelativeLayo...
method Category (line 14) | public Category(View itemView) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/expandemo/ExpCustomAdapter.java
class ExpCustomAdapter (line 19) | public class ExpCustomAdapter extends customizedAdapter<Category, SubCat...
method ExpCustomAdapter (line 20) | public ExpCustomAdapter(Context context) {
method getPreCodeMenu (line 25) | public static List<SmartItem> getPreCodeMenu(String[] a, String[] b, S...
method iniCustomParentHolder (line 40) | @Override
method iniCustomChildHolder (line 51) | @Override
method getLayoutResParent (line 56) | @Override
method getLayoutResChild (line 61) | @Override
method getChildrenByPath (line 66) | @Override
method newFooterHolder (line 72) | @Override
method newHeaderHolder (line 77) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/expandemo/SubCategory.java
class SubCategory (line 13) | public class SubCategory extends easyTemplateChild<SmartItem, TextView, ...
method SubCategory (line 14) | public SubCategory(View itemView) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/expandemo/TestExpandableRV.java
class TestExpandableRV (line 19) | public class TestExpandableRV extends AppCompatActivity {
method enableSwipe (line 55) | private void enableSwipe() {
method addExpandableFeatures (line 61) | private void addExpandableFeatures() {
method onCreate (line 69) | @Override
method toggleSelection (line 91) | private void toggleSelection(int position) {
method getScreenHeight (line 96) | public int getScreenHeight() {
method onCreateOptionsMenu (line 101) | @Override
method onOptionsItemSelected (line 108) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/griddemo/GridJRAdapter.java
class GridJRAdapter (line 17) | public class GridJRAdapter extends UltimateGridLayoutAdapter<JRitem, ite...
method GridJRAdapter (line 19) | public GridJRAdapter(List<JRitem> hand) {
method getNormalLayoutResId (line 28) | @Override
method newViewHolder (line 39) | @Override
method generateHeaderId (line 45) | @Override
method withBindHolder (line 57) | @Override
method bindNormal (line 62) | @Override
method onCreateHeaderViewHolder (line 69) | @Override
method newFooterHolder (line 74) | @Override
method newHeaderHolder (line 79) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/griddemo/GridLayoutRVTest.java
class GridLayoutRVTest (line 28) | public class GridLayoutRVTest extends AppCompatActivity {
method getMainLayout (line 39) | @LayoutRes
method onCreate (line 44) | @Override
method afterAdd (line 88) | protected void afterAdd() {
method getJRList (line 92) | private List<JRitem> getJRList() {
method dimension_columns (line 99) | private void dimension_columns() {
method setupHeaderView (line 109) | private View setupHeaderView() {
method harness_control (line 116) | private void harness_control() {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/griddemo/GridStringAdapter.java
class GridStringAdapter (line 18) | public class GridStringAdapter extends UltimateGridLayoutAdapter<String,...
method GridStringAdapter (line 20) | public GridStringAdapter(List<String> hand) {
method getNormalLayoutResId (line 29) | @Override
method newViewHolder (line 40) | @Override
method newFooterHolder (line 46) | @Override
method newHeaderHolder (line 51) | @Override
method generateHeaderId (line 57) | @Override
method withBindHolder (line 69) | @Override
method onCreateHeaderViewHolder (line 74) | @Override
method bindNormal (line 79) | @Override
class GridSpan (line 87) | public static class GridSpan extends GridLayoutManager.SpanSizeLookup {
method GridSpan (line 92) | public GridSpan(int col, int intervalRow, GridStringAdapter mGridAda...
method getSpanSize (line 104) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/griddemo/GridTestOnlyOnePage.java
class GridTestOnlyOnePage (line 12) | public class GridTestOnlyOnePage extends GridLayoutRVTest {
method onCreate (line 16) | @Override
method afterAdd (line 28) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/BasicFunctions.java
class BasicFunctions (line 33) | public abstract class BasicFunctions extends AppCompatActivity {
method enableParallaxHeader (line 37) | protected void enableParallaxHeader() {
method enableLoadMore (line 49) | protected void enableLoadMore() {
method onLoadmore (line 71) | protected abstract void onLoadmore();
method onFireRefresh (line 73) | protected abstract void onFireRefresh();
method enableRefresh (line 75) | protected void enableRefresh() {
method configStaggerLayoutManager (line 94) | protected final void configStaggerLayoutManager(UltimateRecyclerView r...
method configGridLayoutManager (line 99) | protected final void configGridLayoutManager(UltimateRecyclerView rv, ...
method configLinearLayoutManager (line 104) | protected final void configLinearLayoutManager(UltimateRecyclerView rv) {
method enableScrollControl (line 110) | protected final void enableScrollControl() {
method enableEmptyViewPolicy (line 138) | protected void enableEmptyViewPolicy() {
method enableSwipe (line 145) | protected void enableSwipe() {
method enableItemClick (line 149) | protected void enableItemClick() {
method addButtonTrigger (line 170) | protected abstract void addButtonTrigger();
method removeButtonTrigger (line 172) | protected abstract void removeButtonTrigger();
method setupSpinnerSelection (line 174) | protected void setupSpinnerSelection(Spinner sp, ArrayAdapter<String> ...
method setupSpinnerAnimationSelection (line 198) | protected void setupSpinnerAnimationSelection(Spinner spinner, ArrayAd...
method bButtons (line 222) | private void bButtons() {
method toggleButtonTrigger (line 245) | protected void toggleButtonTrigger() {
method onCreate (line 261) | @Override
method getScreenHeight (line 275) | public int getScreenHeight() {
method doURV (line 280) | protected abstract void doURV(UltimateRecyclerView urv);
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/DebugLoadMoreActivity.java
class DebugLoadMoreActivity (line 17) | public class DebugLoadMoreActivity extends BasicFunctions {
method enableEmptyViewPolicy (line 21) | @Override
method onLoadmore (line 29) | @Override
method enableSwipe (line 49) | @Override
method addButtonTrigger (line 55) | @Override
method removeButtonTrigger (line 61) | @Override
method onFireRefresh (line 66) | @Override
method doURV (line 79) | @Override
method toggleSelection (line 97) | private void toggleSelection(int position) {
method onDestroy (line 102) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/DebugNoHeaderLoadMoreActivity.java
class DebugNoHeaderLoadMoreActivity (line 16) | public class DebugNoHeaderLoadMoreActivity extends BasicFunctions {
method enableEmptyViewPolicy (line 19) | @Override
method onLoadmore (line 28) | @Override
method onFireRefresh (line 33) | @Override
method doURV (line 47) | @Override
method addButtonTrigger (line 71) | @Override
method removeButtonTrigger (line 77) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/FinalEmptyViewDisplayActivity.java
class FinalEmptyViewDisplayActivity (line 19) | public class FinalEmptyViewDisplayActivity extends BasicFunctions implem...
method onLoadmore (line 24) | @Override
method onFireRefresh (line 34) | @Override
method enableEmptyViewPolicy (line 44) | @Override
method doURV (line 52) | @Override
method addButtonTrigger (line 67) | @Override
method removeButtonTrigger (line 73) | @Override
method toggleButtonTrigger (line 79) | @Override
method onEmptyViewShow (line 87) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/FirstPageCancelLoadMore.java
class FirstPageCancelLoadMore (line 16) | public class FirstPageCancelLoadMore extends BasicFunctions {
method enableEmptyViewPolicy (line 20) | @Override
method onLoadmore (line 27) | @Override
method onFireRefresh (line 38) | @Override
method doURV (line 51) | @Override
method addButtonTrigger (line 66) | @Override
method removeButtonTrigger (line 72) | @Override
method toggleButtonTrigger (line 77) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/LineNodeActivity.java
class LineNodeActivity (line 18) | public class LineNodeActivity extends BasicFunctions {
method onLoadmore (line 19) | @Override
method onFireRefresh (line 24) | @Override
method insertMoreWhole (line 30) | public static void insertMoreWhole(easyRegularAdapter sd, int howmany) {
method addAmount (line 41) | protected static void addAmount(int howMany, ArrayList<TimeLineModel> ...
method addButtonTrigger (line 51) | @Override
method removeButtonTrigger (line 56) | @Override
method doURV (line 64) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/PullToRefreshActivity.java
class PullToRefreshActivity (line 28) | public class PullToRefreshActivity extends BasicFunctions implements Act...
method onLoadmore (line 34) | @Override
method onFireRefresh (line 39) | @Override
method addButtonTrigger (line 48) | @Override
method removeButtonTrigger (line 53) | @Override
method onCreate (line 59) | @Override
method refreshingString (line 70) | void refreshingString() {
method refreshingMaterial (line 134) | void refreshingMaterial() {
method handleMessage (line 170) | @Override
method refreshingStringArray (line 197) | private void refreshingStringArray() {
method toggleSelection (line 270) | private void toggleSelection(int position) {
method onDestroy (line 275) | @Override
method getScreenHeight (line 282) | public int getScreenHeight() {
method doURV (line 286) | @Override
method onCreateActionMode (line 291) | @Override
method onPrepareActionMode (line 306) | @Override
method onActionItemClicked (line 314) | @Override
method onDestroyActionMode (line 320) | @Override
method onCreateOptionsMenu (line 327) | @Override
method onOptionsItemSelected (line 334) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/Route.java
type Route (line 9) | public enum Route {
method Route (line 22) | Route(String name, Class<?> clazz) {
method getAnimator (line 27) | public Route getAnimator() {
method getNameDisplay (line 33) | public String getNameDisplay() {
method start (line 37) | public void start(final Context ctx) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/SliderHeader.java
class SliderHeader (line 25) | public class SliderHeader extends BasicFunctions implements BaseSliderVi...
method onLoadmore (line 29) | @Override
method onFireRefresh (line 34) | @Override
method addButtonTrigger (line 47) | @Override
method removeButtonTrigger (line 53) | @Override
method doURV (line 58) | @Override
method initSlider (line 77) | private View initSlider(UltimateRecyclerView listview) {
method setup_double_faces (line 121) | protected void setup_double_faces(final SliderLayout mslide) throws Ex...
method onSliderClick (line 137) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/StaggerLoadMoreActivity.java
class StaggerLoadMoreActivity (line 16) | public class StaggerLoadMoreActivity extends BasicFunctions {
method onLoadmore (line 20) | @Override
method enableEmptyViewPolicy (line 25) | @Override
method onFireRefresh (line 32) | @Override
method doURV (line 46) | @Override
method addButtonTrigger (line 67) | @Override
method removeButtonTrigger (line 73) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/loadmoredemo/SwipeListViewExampleActivity.java
class SwipeListViewExampleActivity (line 34) | public class SwipeListViewExampleActivity extends BasicFunctions {
method onLoadmore (line 39) | @Override
method onFireRefresh (line 44) | @Override
method addButtonTrigger (line 56) | @Override
method removeButtonTrigger (line 62) | @Override
method enableEmptyViewPolicy (line 67) | @Override
method doURV (line 75) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/AbstractDataProvider.java
class AbstractDataProvider (line 19) | public abstract class AbstractDataProvider {
class Data (line 21) | public static abstract class Data {
method getId (line 22) | public abstract long getId();
method isSectionHeader (line 24) | public abstract boolean isSectionHeader();
method getViewType (line 26) | public abstract int getViewType();
method getSwipeReactionType (line 28) | public abstract int getSwipeReactionType();
method getText (line 30) | public abstract String getText();
method setPinnedToSwipeLeft (line 32) | public abstract void setPinnedToSwipeLeft(boolean pinned);
method isPinnedToSwipeLeft (line 34) | public abstract boolean isPinnedToSwipeLeft();
method getCount (line 37) | public abstract int getCount();
method getItem (line 39) | public abstract Data getItem(int index);
method removeItem (line 41) | public abstract void removeItem(int position);
method moveItem (line 43) | public abstract void moveItem(int fromPosition, int toPosition);
method undoLastRemoval (line 45) | public abstract int undoLastRemoval();
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/CircularImageView.java
class CircularImageView (line 33) | public class CircularImageView extends ImageView {
method CircularImageView (line 67) | public CircularImageView(Context context) {
method CircularImageView (line 72) | public CircularImageView(Context context, AttributeSet attrs) {
method CircularImageView (line 76) | public CircularImageView(Context context, AttributeSet attrs, int defS...
method CircularImageView (line 81) | @TargetApi(Build.VERSION_CODES.LOLLIPOP)
method init (line 93) | private void init(Context context, AttributeSet attrs, int defStyle) {
method setBorderWidth (line 147) | public void setBorderWidth(int borderWidth) {
method setBorderColor (line 159) | public void setBorderColor(int borderColor) {
method setSelectorColor (line 170) | public void setSelectorColor(int selectorColor) {
method setSelectorStrokeWidth (line 180) | public void setSelectorStrokeWidth(int selectorStrokeWidth) {
method setSelectorStrokeColor (line 191) | public void setSelectorStrokeColor(int selectorStrokeColor) {
method setShadowEnabled (line 201) | public void setShadowEnabled(boolean enabled) {
method setShadow (line 214) | public void setShadow(float radius, float dx, float dy, int color) {
method onDraw (line 222) | @Override
method dispatchTouchEvent (line 271) | @Override
method setImageURI (line 297) | @Override
method setImageResource (line 307) | @Override
method setImageDrawable (line 317) | @Override
method setImageBitmap (line 327) | @Override
method onMeasure (line 337) | @Override
method measureWidth (line 344) | private int measureWidth(int measureSpec) {
method measureHeight (line 365) | private int measureHeight(int measureSpecHeight) {
method updateShadow (line 385) | private void updateShadow() {
method drawableToBitmap (line 397) | public Bitmap drawableToBitmap(Drawable drawable) {
method setIconModeEnabled (line 426) | public void setIconModeEnabled(final boolean e) {}
method updateBitmapShader (line 432) | public void updateBitmapShader() {
method isSelected (line 450) | public boolean isSelected() {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/FastBinding.java
type FastBinding (line 21) | public enum FastBinding {
method FastBinding (line 35) | FastBinding(final @IdRes int id, Class<?> clazz) {
method getClassName (line 40) | public Class<?> getClassName() {
method getId (line 44) | public int getId() {
method startactivity (line 48) | public static void startactivity(final Context ctx, final @IdRes int i...
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/JRitem.java
class JRitem (line 8) | public class JRitem {
method JRitem (line 13) | public JRitem(@DrawableRes final int photo_idjr, String name) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/MainWatcher.java
class MainWatcher (line 10) | public class MainWatcher extends Application {
method onCreate (line 11) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/SampleDataboxset.java
class SampleDataboxset (line 15) | public class SampleDataboxset {
method newList (line 17) | public static List<String> newList() {
method newList (line 31) | public static List<String> newList(int longh) {
method newListFromGen (line 37) | public static List<String> newListFromGen(int n) {
method newListFromGen (line 43) | public static List<String> newListFromGen() {
method genItems (line 49) | public static void genItems(final int howmany, final List<String> list) {
method insertMore (line 56) | public static void insertMore(easyRegularAdapter sd, int howmany) {
method insertMoreWhole (line 62) | public static void insertMoreWhole(easyRegularAdapter sd, int howmany) {
method genJRList (line 71) | public static List<JRitem> genJRList(int counts) {
method genJRSingle (line 79) | public static JRitem genJRSingle() {
method getGirlImageRandom (line 85) | public static int getGirlImageRandom() {
method insertMore (line 90) | public static void insertMore(ZeroStickyAdvertistmentAdapter sd, int h...
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/TimeLineModel.java
class TimeLineModel (line 6) | public class TimeLineModel {
method getName (line 10) | public String getName() {
method setName (line 14) | public void setName(String name) {
method getAge (line 18) | public int getAge() {
method setAge (line 22) | public void setAge(int age) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/ViewPagerAdapter.java
class ViewPagerAdapter (line 9) | class ViewPagerAdapter extends PagerAdapter {
method instantiateItem (line 11) | public Object instantiateItem(ViewGroup collection, int position) {
method getCount (line 25) | @Override
method isViewFromObject (line 30) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/MultiViewTypesActivity.java
class MultiViewTypesActivity (line 25) | public class MultiViewTypesActivity extends AppCompatActivity {
method onCreate (line 34) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/MultiViewTypesRecyclerViewAdapter.java
class MultiViewTypesRecyclerViewAdapter (line 16) | public class MultiViewTypesRecyclerViewAdapter extends UltimateDifferent...
type SwipedState (line 19) | private enum SwipedState {
class ViewHolder (line 29) | public static class ViewHolder extends UltimateRecyclerviewViewHolder {
method ViewHolder (line 33) | public ViewHolder(View v) {
method MultiViewTypesRecyclerViewAdapter (line 40) | public MultiViewTypesRecyclerViewAdapter(List<String> dataSet) {
method insert (line 53) | public void insert(String string, int position) {
method remove (line 57) | public void remove(int position) {
method newFooterHolder (line 68) | @Override
method newHeaderHolder (line 73) | @Override
method onCreateViewHolder (line 78) | @Override
method onCreateHeaderViewHolder (line 87) | @Override
method onBindHeaderViewHolder (line 92) | @Override
method onBindViewHolder (line 122) | @Override
method getItemCount (line 128) | @Override
method getAdapterItemCount (line 133) | @Override
method generateHeaderId (line 138) | @Override
method getEnumFromPosition (line 143) | @Override
method getEnumFromOrdinal (line 152) | @Override
type SampleViewType (line 157) | enum SampleViewType {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/Sample1Binder.java
class Sample1Binder (line 19) | public class Sample1Binder extends DataBinder<Sample1Binder.ViewHolder> {
method Sample1Binder (line 21) | public Sample1Binder(UltimateDifferentViewTypeAdapter dataBindAdapter,...
method newViewHolder (line 26) | @Override
method bindViewHolder (line 33) | @Override
method getItemCount (line 39) | @Override
class ViewHolder (line 44) | static class ViewHolder extends UltimateRecyclerviewViewHolder {
method ViewHolder (line 50) | public ViewHolder(View view) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/Sample2Binder.java
class Sample2Binder (line 20) | public class Sample2Binder extends DataBinder<Sample2Binder.ViewHolder> {
method Sample2Binder (line 22) | public Sample2Binder(UltimateDifferentViewTypeAdapter dataBindAdapter,...
method newViewHolder (line 27) | @Override
method bindViewHolder (line 34) | @Override
method getItemCount (line 39) | @Override
class ViewHolder (line 44) | static class ViewHolder extends UltimateRecyclerviewViewHolder {
method ViewHolder (line 50) | public ViewHolder(View view) {
method addAll (line 58) | public void addAll(List<String> dataSet) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/SimpleAnimationAdapter.java
class SimpleAnimationAdapter (line 25) | public class SimpleAnimationAdapter extends UltimateViewAdapter<Recycler...
method SimpleAnimationAdapter (line 28) | public SimpleAnimationAdapter(List<String> stringList) {
method onBindViewHolder (line 39) | @Override
method getAdapterItemCount (line 58) | @Override
method newFooterHolder (line 69) | @Override
method newHeaderHolder (line 74) | @Override
method onCreateViewHolder (line 79) | @Override
method insert (line 87) | public void insert(String string, int position) {
method remove (line 91) | public void remove(int position) {
method clear (line 95) | public void clear() {
method swapPositions (line 99) | public void swapPositions(int from, int to) {
method generateHeaderId (line 104) | @Override
method onCreateHeaderViewHolder (line 112) | @Override
method onBindHeaderViewHolder (line 119) | @Override
class ViewHolder (line 151) | public class ViewHolder extends UltimateRecyclerviewViewHolder {
method ViewHolder (line 156) | public ViewHolder(View itemView, boolean normal) {
method getItem (line 180) | public String getItem(int position) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/SwipeAdapter.java
class SwipeAdapter (line 16) | public class SwipeAdapter extends SwipeableUltimateViewAdapter<String> {
method SwipeAdapter (line 18) | public SwipeAdapter(List<String> mData) {
method withBindHolder (line 23) | @Override
method getNormalLayoutResId (line 34) | @Override
method newViewHolder (line 45) | @Override
method newFooterHolder (line 72) | @Override
method newHeaderHolder (line 77) | @Override
method generateHeaderId (line 82) | @Override
method getItemId (line 87) | @Override
method removeNotifyExternal (line 93) | @Override
class SVHolder (line 99) | public static class SVHolder extends UltimateRecyclerviewViewHolder {
method SVHolder (line 105) | public SVHolder(View itemView, boolean bind) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/TimeLineAdapter.java
class TimeLineAdapter (line 14) | public class TimeLineAdapter extends easyRegularAdapter<TimeLineModel, i...
method TimeLineAdapter (line 16) | public TimeLineAdapter(List<TimeLineModel> feedList) {
method getNormalLayoutResId (line 20) | @Override
method newViewHolder (line 25) | @Override
method withBindHolder (line 30) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/itemCommonBinder.java
class itemCommonBinder (line 17) | public class itemCommonBinder extends UltimateRecyclerviewViewHolder {
method itemCommonBinder (line 30) | public itemCommonBinder(View itemView, boolean isItem) {
method onItemSelected (line 55) | @Override
method onItemClear (line 60) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/itemGridCellBinder.java
class itemGridCellBinder (line 14) | public class itemGridCellBinder extends UltimateRecyclerviewViewHolder {
method itemGridCellBinder (line 20) | public itemGridCellBinder(View itemView, boolean isItem) {
method onItemSelected (line 29) | @Override
method onItemClear (line 34) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/itemNode.java
class itemNode (line 13) | public class itemNode extends UltimateRecyclerviewViewHolder {
method itemNode (line 23) | public itemNode(View itemView) {
method init (line 34) | public void init(int viewTypeLine) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/itemStaggerCommonBinder.java
class itemStaggerCommonBinder (line 15) | public class itemStaggerCommonBinder extends StaggerHolder {
method itemStaggerCommonBinder (line 23) | public itemStaggerCommonBinder(View itemView, int type) {
method bindHeader (line 27) | @Override
method bindFooter (line 32) | @Override
method bindNormal (line 37) | @Override
method bindAd (line 45) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/sectionCommonAdapter.java
class sectionCommonAdapter (line 21) | public class sectionCommonAdapter extends easyRegularAdapter<String, ite...
method sectionCommonAdapter (line 28) | public sectionCommonAdapter(List<String> list) {
method getNormalLayoutResId (line 37) | @Override
method newViewHolder (line 42) | @Override
method setRandomImage (line 48) | private void setRandomImage(ImageView image) {
method withBindHolder (line 63) | @Override
method onItemMove (line 83) | @Override
method onItemDismiss (line 90) | @Override
method setOnDragStartListener (line 99) | public void setOnDragStartListener(OnStartDragListener dragStartListen...
method generateHeaderId (line 110) | @Override
method onCreateHeaderViewHolder (line 124) | @Override
method onBindHeaderViewHolder (line 138) | @Override
method newFooterHolder (line 163) | @Override
method newHeaderHolder (line 168) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/sectionZeroAdapter.java
class sectionZeroAdapter (line 13) | public class sectionZeroAdapter extends easyRegularAdapter<String, itemC...
method sectionZeroAdapter (line 16) | public sectionZeroAdapter(List<String> stringList) {
method getNormalLayoutResId (line 26) | @Override
method newViewHolder (line 31) | @Override
method newFooterHolder (line 38) | @Override
method newHeaderHolder (line 43) | @Override
method insertOne (line 79) | public final void insertOne(String e) {
method removeLastOne (line 83) | public final void removeLastOne() {
method withBindHolder (line 96) | @Override
method onItemMove (line 115) | @Override
method onItemDismiss (line 122) | @Override
method setOnDragStartListener (line 147) | public void setOnDragStartListener(OnStartDragListener dragStartListen...
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/staggerAdapter.java
class staggerAdapter (line 15) | public class staggerAdapter extends easyRegularAdapter<String, itemStagg...
method staggerAdapter (line 18) | public staggerAdapter(List<String> stringList) {
method getNormalLayoutResId (line 23) | @Override
method newViewHolder (line 28) | @Override
method newFooterHolder (line 33) | @Override
method newHeaderHolder (line 38) | @Override
method withBindHolder (line 43) | @Override
method onItemMove (line 62) | @Override
method onItemDismiss (line 69) | @Override
method setOnDragStartListener (line 78) | public void setOnDragStartListener(OnStartDragListener dragStartListen...
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/BaseActivity.java
class BaseActivity (line 33) | public abstract class BaseActivity extends AppCompatActivity {
method getActionBarSize (line 37) | protected int getActionBarSize() {
method getScreenHeight (line 47) | protected int getScreenHeight() {
method getDummyData (line 51) | public static ArrayList<String> getDummyData() {
method getDummyData (line 55) | public static ArrayList<String> getDummyData(int num) {
method setDummyData (line 63) | protected void setDummyData(ListView listView) {
method setDummyDataFew (line 67) | protected void setDummyDataFew(ListView listView) {
method setDummyData (line 71) | protected void setDummyData(ListView listView, int num) {
method setDummyDataWithHeader (line 75) | protected void setDummyDataWithHeader(ListView listView, int headerHei...
method setDummyDataWithHeader (line 79) | protected void setDummyDataWithHeader(ListView listView, int headerHei...
method setDummyDataWithHeader (line 88) | protected void setDummyDataWithHeader(ListView listView, View headerVi...
method setDummyData (line 105) | protected void setDummyData(RecyclerView recyclerView, int num) {
method setDummyData (line 109) | protected void setDummyData(RecyclerView recyclerView) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/BaseFragment.java
class BaseFragment (line 35) | public abstract class BaseFragment extends Fragment {
method getDummyData (line 38) | public static ArrayList<String> getDummyData() {
method getActionBarSize (line 42) | protected int getActionBarSize() {
method getScreenHeight (line 56) | protected int getScreenHeight() {
method setDummyData (line 64) | protected void setDummyData(ListView listView) {
method setDummyDataWithHeader (line 68) | protected void setDummyDataWithHeader(ListView listView, View headerVi...
method setDummyData (line 73) | protected void setDummyData(GridView gridView) {
method setDummyData (line 77) | protected void setDummyData(RecyclerView recyclerView) {
method setDummyData (line 81) | protected void setDummyData(UltimateRecyclerView recyclerView) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/ScrollObservablesActivity.java
class ScrollObservablesActivity (line 14) | public class ScrollObservablesActivity extends AppCompatActivity {
method onCreate (line 16) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/ViewPagerFragmentListSingle.java
class ViewPagerFragmentListSingle (line 19) | public class ViewPagerFragmentListSingle extends BaseFragment {
method onCreateView (line 24) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/ViewPagerTabFragmentParentFragment.java
class ViewPagerTabFragmentParentFragment (line 34) | public class ViewPagerTabFragmentParentFragment extends BaseFragment imp...
method onCreateView (line 51) | @Override
method onViewCreated (line 75) | @Override
method setpagertoppadding (line 80) | protected void setpagertoppadding(float m) {
method onScrollChanged (line 86) | @Override
method onDownMotionEvent (line 104) | @Override
method onUpOrCancelMotionEvent (line 108) | @Override
method shouldInterceptTouchEvent (line 129) | @Override
method onDownMotionEvent (line 166) | @Override
method onMoveMotionEvent (line 170) | @Override
method onUpOrCancelMotionEvent (line 191) | @Override
method getCurrentScrollable (line 198) | private Scrollable getCurrentScrollable() {
method viewscrollable (line 210) | private Scrollable viewscrollable(View fromFragmentView) {
method adjustmentToolBarView (line 215) | private View adjustmentToolBarView() {
method toolbarAdjustment (line 220) | private void toolbarAdjustment(ObservableScrollState scrollState) {
method toolbarAdjustment (line 244) | private void toolbarAdjustment(ObservableScrollState scrollState, View...
method propagateToolbarState (line 273) | private void propagateToolbarState(boolean isShown) {
method getCurrentFragment (line 314) | private Fragment getCurrentFragment() {
method toolbarIsShown (line 318) | private boolean toolbarIsShown() {
method toolbarIsHidden (line 322) | private boolean toolbarIsHidden() {
method showToolbar (line 331) | private void showToolbar() {
method hideToolbar (line 335) | private void hideToolbar() {
method animateToolbar (line 340) | private void animateToolbar(final float toY) {
class NavigationAdapter (line 366) | private static class NavigationAdapter extends CacheFragmentStatePager...
method NavigationAdapter (line 371) | public NavigationAdapter(FragmentManager fm) {
method setScrollY (line 377) | public void setScrollY(int scrollY) {
method createItem (line 381) | @Override
method getCount (line 416) | @Override
method getPageTitle (line 421) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/widget/SlidingTabLayout.java
class SlidingTabLayout (line 54) | public class SlidingTabLayout extends HorizontalScrollView {
type TabColorizer (line 59) | public interface TabColorizer {
method getIndicatorColor (line 64) | int getIndicatorColor(int position);
method SlidingTabLayout (line 84) | public SlidingTabLayout(Context context) {
method SlidingTabLayout (line 88) | public SlidingTabLayout(Context context, AttributeSet attrs) {
method SlidingTabLayout (line 92) | public SlidingTabLayout(Context context, AttributeSet attrs, int defSt...
method setCustomTabColorizer (line 113) | public void setCustomTabColorizer(TabColorizer tabColorizer) {
method setDistributeEvenly (line 117) | public void setDistributeEvenly(boolean distributeEvenly) {
method setSelectedIndicatorColors (line 125) | public void setSelectedIndicatorColors(int... colors) {
method setOnPageChangeListener (line 136) | public void setOnPageChangeListener(ViewPager.OnPageChangeListener lis...
method setCustomTabView (line 146) | public void setCustomTabView(int layoutResId, int textViewId) {
method setViewPager (line 155) | public void setViewPager(ViewPager viewPager) {
method createDefaultTabView (line 169) | @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
method populateTabStrip (line 190) | private void populateTabStrip() {
method setContentDescription (line 233) | public void setContentDescription(int i, String desc) {
method onAttachedToWindow (line 237) | @Override
method scrollToTab (line 246) | private void scrollToTab(int tabIndex, int positionOffset) {
class InternalViewPagerListener (line 265) | private class InternalViewPagerListener implements ViewPager.OnPageCha...
method onPageScrolled (line 268) | @Override
method onPageScrollStateChanged (line 289) | @Override
method onPageSelected (line 298) | @Override
class TabClickListener (line 314) | private class TabClickListener implements OnClickListener {
method onClick (line 315) | @Override
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/widget/SlidingTabStrip.java
class SlidingTabStrip (line 29) | class SlidingTabStrip extends LinearLayout {
method SlidingTabStrip (line 50) | SlidingTabStrip(Context context) {
method SlidingTabStrip (line 54) | SlidingTabStrip(Context context, AttributeSet attrs) {
method setCustomTabColorizer (line 78) | void setCustomTabColorizer(SlidingTabLayout.TabColorizer customTabColo...
method setSelectedIndicatorColors (line 83) | void setSelectedIndicatorColors(int... colors) {
method onViewPagerPageChanged (line 90) | void onViewPagerPageChanged(int position, float positionOffset) {
method onDraw (line 96) | @Override
method setColorAlpha (line 138) | private static int setColorAlpha(int color, byte alpha) {
method blendColors (line 148) | private static int blendColors(int color1, int color2, float ratio) {
class SimpleTabColorizer (line 156) | private static class SimpleTabColorizer implements SlidingTabLayout.Ta...
method getIndicatorColor (line 159) | @Override
method setIndicatorColors (line 164) | void setIndicatorColors(int... colors) {
FILE: UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/swiplistdemo/PackageAdapter.java
class PackageAdapter (line 22) | public class PackageAdapter extends RecyclerView.Adapter<PackageAdapter....
method PackageAdapter (line 27) | public PackageAdapter(Context context, List<String> data) {
method getItem (line 33) | public String getItem(int position) {
method onCreateViewHolder (line 37) | @Override
method onBindViewHolder (line 46) | @Override
method getItemId (line 57) | @Override
method getItemCount (line 62) | @Override
class ViewHolder (line 137) | public static class ViewHolder extends RecyclerView.ViewHolder {
method ViewHolder (line 144) | public ViewHolder(View itemView) {
method isPlayStoreInstalled (line 156) | private boolean isPlayStoreInstalled() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/androidTest/java/com/marshalchen/ultimaterecyclerview/ApplicationTest.java
class ApplicationTest (line 9) | public class ApplicationTest extends ApplicationTestCase<Application> {
method ApplicationTest (line 10) | public ApplicationTest() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/CustomUltimateRecyclerview.java
class CustomUltimateRecyclerview (line 17) | public class CustomUltimateRecyclerview extends UltimateRecyclerView {
method CustomUltimateRecyclerview (line 21) | public CustomUltimateRecyclerview(Context context) {
method CustomUltimateRecyclerview (line 25) | public CustomUltimateRecyclerview(Context context, AttributeSet attrs) {
method CustomUltimateRecyclerview (line 29) | public CustomUltimateRecyclerview(Context context, AttributeSet attrs,...
method initViews (line 33) | @Override
method setCustomSwipeToRefresh (line 72) | public void setCustomSwipeToRefresh() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/DragDropTouchListener.java
class DragDropTouchListener (line 52) | public abstract class DragDropTouchListener implements RecyclerView.OnIt...
method DragDropTouchListener (line 72) | public DragDropTouchListener(RecyclerView recyclerView, Activity activ...
method DragDropTouchListener (line 81) | public DragDropTouchListener(RecyclerView recyclerView, Activity activ...
method onInterceptTouchEvent (line 86) | @Override
method onTouchEvent (line 107) | @Override
method startDrag (line 131) | public void startDrag() {
method down (line 151) | private boolean down(MotionEvent event) {
method move (line 159) | private boolean move(MotionEvent event) {
method switchViewsIfNeeded (line 175) | private void switchViewsIfNeeded() {
method doSwitch (line 196) | private void doSwitch(final View switchView, final int originalViewPos...
method up (line 214) | private boolean up(MotionEvent event) {
method cancel (line 222) | private boolean cancel(MotionEvent event) {
method reset (line 227) | private void reset() {
method getViewByPosition (line 253) | private View getViewByPosition(int position) {
method scrollIfNeeded (line 259) | private boolean scrollIfNeeded() {
method copyViewAsImage (line 279) | private ImageView copyViewAsImage(View v) {
method getViewRawCoords (line 307) | private int[] getViewRawCoords(View locateView) {
method setEnabled (line 322) | public void setEnabled(boolean enabled) {
method onItemSwitch (line 333) | protected abstract void onItemSwitch(RecyclerView recyclerView, int fr...
method onItemDrop (line 341) | protected abstract void onItemDrop(RecyclerView recyclerView, int posi...
method setCustomDragHighlight (line 344) | public void setCustomDragHighlight(Drawable dragHighlight) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ItemTouchListenerAdapter.java
class ItemTouchListenerAdapter (line 37) | public class ItemTouchListenerAdapter extends GestureDetector.SimpleOnG...
type RecyclerViewOnItemClickListener (line 40) | public interface RecyclerViewOnItemClickListener {
method onItemClick (line 41) | void onItemClick(RecyclerView parent, View clickedView, int position);
method onItemLongClick (line 43) | void onItemLongClick(RecyclerView parent, View clickedView, int posi...
method ItemTouchListenerAdapter (line 50) | public ItemTouchListenerAdapter(
method onInterceptTouchEvent (line 61) | @Override
method onTouchEvent (line 67) | @Override
method onRequestDisallowInterceptTouchEvent (line 72) | @Override
method onShowPress (line 76) | @Override
method shiftAdjustInt (line 92) | private int shiftAdjustInt(int position) {
method onSingleTapUp (line 101) | @Override
method onLongPress (line 115) | public void onLongPress(MotionEvent e) {
method getChildViewUnder (line 125) | @Nullable
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/NormalUltimateViewAdapter.java
class NormalUltimateViewAdapter (line 20) | public abstract class NormalUltimateViewAdapter extends RecyclerView.Ada...
method setCustomHeaderView (line 31) | public void setCustomHeaderView(UltimateRecyclerView.CustomRelativeWra...
method getCustomHeaderView (line 35) | public UltimateRecyclerView.CustomRelativeWrapper getCustomHeaderView() {
method onCreateViewHolder (line 41) | @Override
method onCreateViewHolder (line 68) | public abstract UltimateRecyclerviewViewHolder onCreateViewHolder(View...
method setCustomLoadMoreView (line 75) | public void setCustomLoadMoreView(View customview) {
method swipeCustomLoadMoreView (line 84) | public void swipeCustomLoadMoreView(View customview) {
method getCustomLoadMoreView (line 89) | public View getCustomLoadMoreView() {
method getItemViewType (line 95) | @Override
method getItemCount (line 117) | @Override
method getAdapterItemCount (line 130) | public abstract int getAdapterItemCount();
method toggleSelection (line 132) | public void toggleSelection(int pos) {
method clearSelection (line 136) | public void clearSelection(int pos) {
method setSelected (line 140) | public void setSelected(int pos) {
method swapPositions (line 151) | public void swapPositions(List<?> list, int from, int to) {
method insert (line 168) | public <T> void insert(List<T> list, T object, int position) {
method remove (line 180) | public void remove(List<?> list, int position) {
method clear (line 192) | public void clear(List<?> list) {
method getHeaderId (line 198) | @Override
method generateHeaderId (line 207) | public abstract long generateHeaderId(int position);
class VIEW_TYPES (line 210) | protected class VIEW_TYPES {
type AdapterAnimationType (line 217) | protected enum AdapterAnimationType {
method getAdapterAnimations (line 232) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method onItemMove (line 256) | @Override
method onItemDismiss (line 261) | @Override
type OnStartDragListener (line 272) | public interface OnStartDragListener {
method onStartDrag (line 279) | void onStartDrag(RecyclerView.ViewHolder viewHolder);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ObservableScrollState.java
type ObservableScrollState (line 22) | public enum ObservableScrollState {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ObservableScrollViewCallbacks.java
type ObservableScrollViewCallbacks (line 22) | public interface ObservableScrollViewCallbacks {
method onScrollChanged (line 33) | void onScrollChanged(int scrollY, boolean firstScroll, boolean dragging);
method onDownMotionEvent (line 38) | void onDownMotionEvent();
method onUpOrCancelMotionEvent (line 45) | void onUpOrCancelMotionEvent(ObservableScrollState observableScrollSta...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/RecyclerItemClickListener.java
class RecyclerItemClickListener (line 25) | public class RecyclerItemClickListener implements RecyclerView.OnItemTou...
type OnItemClickListener (line 28) | public interface OnItemClickListener {
method onItemClick (line 29) | public void onItemClick(View view, int position);
method RecyclerItemClickListener (line 34) | public RecyclerItemClickListener(Context context, OnItemClickListener ...
method onInterceptTouchEvent (line 43) | @Override public boolean onInterceptTouchEvent(RecyclerView view, Moti...
method onTouchEvent (line 52) | @Override public void onTouchEvent(RecyclerView view, MotionEvent moti...
method onRequestDisallowInterceptTouchEvent (line 54) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/Scrollable.java
type Scrollable (line 10) | public interface Scrollable {
method setScrollViewCallbacks (line 16) | void setScrollViewCallbacks(ObservableScrollViewCallbacks listener);
method scrollVerticallyTo (line 25) | void scrollVerticallyTo(int y);
method getCurrentScrollY (line 32) | int getCurrentScrollY();
method setTouchInterceptionViewGroup (line 41) | void setTouchInterceptionViewGroup(ViewGroup viewGroup);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/SwipeDismissTouchListener.java
class SwipeDismissTouchListener (line 28) | @Deprecated
type SwipeDismissCallbacks (line 54) | public interface SwipeDismissCallbacks {
method canDismiss (line 61) | boolean canDismiss(Object token);
method onDismiss (line 69) | void onDismiss(View view, Object token);
method SwipeDismissTouchListener (line 80) | public SwipeDismissTouchListener(View view, Object token, SwipeDismiss...
method onTouch (line 92) | @Override
method performDismiss (line 220) | private void performDismiss() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/SwipeableUltimateRecyclerview.java
class SwipeableUltimateRecyclerview (line 17) | public class SwipeableUltimateRecyclerview extends UltimateRecyclerView {
method SwipeableUltimateRecyclerview (line 18) | public SwipeableUltimateRecyclerview(Context context) {
method SwipeableUltimateRecyclerview (line 22) | public SwipeableUltimateRecyclerview(Context context, AttributeSet att...
method SwipeableUltimateRecyclerview (line 27) | public SwipeableUltimateRecyclerview(Context context, AttributeSet att...
method initViews (line 32) | @Override
method setSwipeListViewListener (line 74) | public void setSwipeListViewListener(SwipeListViewListener swipeListVi...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/SwipeableUltimateViewAdapter.java
class SwipeableUltimateViewAdapter (line 16) | public abstract class SwipeableUltimateViewAdapter<T>
method SwipeableUltimateViewAdapter (line 20) | public SwipeableUltimateViewAdapter(List<T> list) {
method withBindHolder (line 34) | @Override
method onBindAdViewHolder (line 39) | @Override
method onBindCustomViewHolder (line 44) | @Override
method onBindFooterViewHolder (line 49) | @Override
method onBindHeaderViewHolder (line 54) | @Override
method openItem (line 59) | @Override
method closeItem (line 64) | @Override
method closeAllExcept (line 69) | @Override
method getOpenItems (line 74) | @Override
method getOpenLayouts (line 79) | @Override
method removeShownLayouts (line 84) | @Override
method isOpen (line 89) | @Override
method getMode (line 94) | @Override
method setMode (line 99) | @Override
class BaseSwipeableViewHolder (line 104) | public static class BaseSwipeableViewHolder extends RecyclerView.ViewH...
method BaseSwipeableViewHolder (line 111) | public BaseSwipeableViewHolder(View itemView) {
method insert (line 119) | @Override
method removeAll (line 126) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/URLogs.java
class URLogs (line 8) | public final class URLogs {
method getCurrentStackTraceElement (line 15) | private static StackTraceElement getCurrentStackTraceElement() {
method trace (line 21) | public static void trace() {
method getContent (line 28) | private static String getContent(StackTraceElement trace) {
method getContents (line 34) | private static String getContents(StackTraceElement trace) {
method traceStack (line 40) | public static void traceStack() {
method traceStack (line 46) | public static void traceStack(String tag, int priority) {
method v (line 78) | public static void v(String msg) {
method d (line 90) | public static void d(String tag, String msg) {
method d (line 101) | public static void d(String msg) {
method i (line 113) | public static void i(String tag, String msg) {
method d (line 123) | public static void d(String message, Object... args) {
method w (line 135) | public static void w(String tag, String msg) {
method e (line 147) | public static void e(String tag, String msg) {
method i (line 158) | public static void i(String msg) {
method w (line 169) | public static void w(String msg) {
method e (line 180) | public static void e(String msg) {
method e (line 192) | public static void e(Exception exception) {
method e (line 205) | public static void e(Exception exception, String string) {
method e (line 218) | public static void e(String string, Exception exception) {
method e (line 232) | public static void e(String tag, String message, Exception exception) {
method issIsLogEnabled (line 240) | public static boolean issIsLogEnabled() {
method setsIsLogEnabled (line 250) | public static void setsIsLogEnabled(boolean sIsLogEnabled) {
method getsApplicationTag (line 255) | public static String getsApplicationTag() {
method setsApplicationTag (line 259) | public static void setsApplicationTag(String sApplicationTag) {
method getTagContentPrint (line 263) | public static String getTagContentPrint() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateDifferentViewTypeAdapter.java
class UltimateDifferentViewTypeAdapter (line 14) | public abstract class UltimateDifferentViewTypeAdapter<E extends Enum<E>...
class VIEW_TYPES (line 17) | protected class VIEW_TYPES extends UltimateViewAdapter.VIEW_TYPES {
method onCreateViewHolder (line 21) | @Override
method onBindViewHolder (line 30) | @Override
method getItemCount (line 37) | @Override
method getItemViewType (line 46) | @Override
method getDataBinder (line 58) | public <T extends DataBinder> T getDataBinder(int viewType) {
method getPosition (line 62) | public int getPosition(DataBinder binder, int binderPosition) {
method getBinderPosition (line 75) | public int getBinderPosition(int position) {
method notifyBinderItemRangeChanged (line 90) | public void notifyBinderItemRangeChanged(DataBinder binder, int positi...
method notifyBinderItemRangeInserted (line 96) | public void notifyBinderItemRangeInserted(DataBinder binder, int posit...
method notifyBinderItemRangeRemoved (line 102) | public void notifyBinderItemRangeRemoved(DataBinder binder, int positi...
method notifyBinderItemChanged (line 108) | public void notifyBinderItemChanged(DataBinder binder, int binderPosit...
method notifyBinderItemInserted (line 113) | public void notifyBinderItemInserted(DataBinder binder, int binderPosi...
method notifyBinderItemMoved (line 117) | public void notifyBinderItemMoved(DataBinder binder, int fromPosition,...
method notifyBinderItemRemoved (line 122) | public void notifyBinderItemRemoved(DataBinder binder, int binderPosit...
method getEnumFromPosition (line 127) | public abstract E getEnumFromPosition(int position);
method getEnumFromOrdinal (line 129) | public abstract E getEnumFromOrdinal(int ordinal);
method getEnumFromBinder (line 131) | public E getEnumFromBinder(DataBinder binder) {
method getDataBinder (line 140) | public <T extends DataBinder> T getDataBinder(E e) {
method getBinderMap (line 144) | public Map<E, DataBinder> getBinderMap() {
method putBinder (line 148) | public void putBinder(E e, DataBinder binder) {
method removeBinder (line 152) | public void removeBinder(E e) {
method clearBinderMap (line 156) | public void clearBinderMap() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateGridLayoutAdapter.java
class UltimateGridLayoutAdapter (line 18) | public abstract class UltimateGridLayoutAdapter<DATA, BINDER extends Ult...
method UltimateGridLayoutAdapter (line 22) | public UltimateGridLayoutAdapter(List<DATA> items) {
method setSpanColumns (line 27) | public void setSpanColumns(int columns) {
method normalDataConv (line 32) | private int normalDataConv(final int rpos) {
method getViewById (line 42) | protected View getViewById(@LayoutRes final int layoutId, ViewGroup pa...
method onCreateHeaderViewHolder (line 47) | @Override
method getAdapterItemCount (line 52) | @Override
method generateHeaderId (line 57) | @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
method onBindViewHolder (line 63) | @Override
method onFooterCustomerization (line 75) | protected void onFooterCustomerization(RecyclerView.ViewHolder view, i...
method onBindHeaderViewHolder (line 85) | @Override
method bindNormal (line 90) | protected abstract void bindNormal(BINDER b, DATA data, final int posi...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateRecyclerView.java
class UltimateRecyclerView (line 62) | public class UltimateRecyclerView extends FrameLayout implements Scrolla...
method UltimateRecyclerView (line 161) | public UltimateRecyclerView(Context context) {
method UltimateRecyclerView (line 166) | public UltimateRecyclerView(Context context, AttributeSet attrs) {
method UltimateRecyclerView (line 172) | public UltimateRecyclerView(Context context, AttributeSet attrs, int d...
method setRecylerViewBackgroundColor (line 178) | public void setRecylerViewBackgroundColor(@ColorInt int color) {
method initViews (line 182) | protected void initViews() {
method getEmptyView (line 224) | public View getEmptyView() {
method setPolicies (line 228) | private void setPolicies(final int policyEmtpyView, final int policyIn...
method setInflater (line 234) | public void setInflater(LayoutInflater inflater) {
method setEmptyView (line 238) | private void setEmptyView(@LayoutRes final int emptyResourceId) {
method setEmptyView (line 251) | private void setEmptyView(@Nullable View mInflatedView) {
method setEmptyView (line 263) | public final void setEmptyView(@LayoutRes int emptyResourceId, final i...
method setEmptyView (line 270) | public final void setEmptyView(@LayoutRes int emptyResourceId, final i...
method setEmptyView (line 275) | public final void setEmptyView(@LayoutRes int emptyResourceId, final i...
method setEmptyView (line 281) | public final void setEmptyView(@LayoutRes int emptyResourceId, final i...
method showEmptyView (line 293) | public boolean showEmptyView() {
method hideEmptyView (line 311) | public void hideEmptyView() {
method setLoadMoreView (line 319) | public void setLoadMoreView(View mlayoutView) {
method setLoadMoreView (line 337) | public void setLoadMoreView(@LayoutRes final int layout) {
method showFloatingButtonView (line 348) | public void showFloatingButtonView() {
method setScrollbars (line 360) | protected void setScrollbars() {
method initAttrs (line 378) | protected void initAttrs(AttributeSet attrs) {
method setObserableScrollListener (line 402) | private void setObserableScrollListener() {
method scroll_load_more_detection (line 416) | private void scroll_load_more_detection(RecyclerView recyclerView) {
method setDefaultScrollListener (line 486) | protected void setDefaultScrollListener() {
method reenableLoadmore (line 512) | public void reenableLoadmore() {
method isLoadMoreEnabled (line 519) | public boolean isLoadMoreEnabled() {
method disableLoadmore (line 526) | public void disableLoadmore() {
method enableShoworHideToolbarAndFloatingButton (line 534) | protected void enableShoworHideToolbarAndFloatingButton(RecyclerView r...
method setOnScrollListener (line 634) | public void setOnScrollListener(RecyclerView.OnScrollListener customOn...
method addOnScrollListener (line 638) | public void addOnScrollListener(RecyclerView.OnScrollListener customOn...
method removeOnScrollListener (line 642) | public void removeOnScrollListener(RecyclerView.OnScrollListener custo...
method addItemDividerDecoration (line 646) | public void addItemDividerDecoration(Context context) {
method swapAdapter (line 662) | public void swapAdapter(UltimateViewAdapter adapter, boolean removeAnd...
method setAdapter (line 667) | public void setAdapter(UltimateViewAdapter adapter) {
method addItemDecoration (line 677) | public void addItemDecoration(RecyclerView.ItemDecoration itemDecorati...
method addItemDecoration (line 688) | public void addItemDecoration(RecyclerView.ItemDecoration itemDecorati...
method setItemAnimator (line 702) | public void setItemAnimator(RecyclerView.ItemAnimator animator) {
method getItemAnimator (line 715) | public RecyclerView.ItemAnimator getItemAnimator() {
method setDefaultOnRefreshListener (line 724) | public void setDefaultOnRefreshListener(SwipeRefreshLayout.OnRefreshLi...
method setDefaultSwipeToRefreshColorScheme (line 746) | public void setDefaultSwipeToRefreshColorScheme(int... colors) {
method setOnLoadMoreListener (line 755) | public void setOnLoadMoreListener(OnLoadMoreListener onLoadMoreListene...
method setLayoutManager (line 765) | public void setLayoutManager(RecyclerView.LayoutManager manager) {
method getAdapter (line 774) | public RecyclerView.Adapter getAdapter() {
method setAdapterInternal (line 784) | private void setAdapterInternal(UltimateViewAdapter adapter) {
method updateHelperDisplays (line 848) | private void updateHelperDisplays() {
method implementLoadMorebehavior (line 878) | private void implementLoadMorebehavior() {
method setHasFixedSize (line 888) | public void setHasFixedSize(boolean hasFixedSize) {
method setRefreshing (line 897) | public void setRefreshing(boolean refreshing) {
method enableDefaultSwipeRefresh (line 909) | public void enableDefaultSwipeRefresh(boolean isSwipeRefresh) {
type OnLoadMoreListener (line 915) | public interface OnLoadMoreListener {
method loadMore (line 916) | void loadMore(int itemsCount, final int maxLastVisiblePosition);
type LAYOUT_MANAGER_TYPE (line 919) | public enum LAYOUT_MANAGER_TYPE {
method findMax (line 926) | private int findMax(int[] lastPositions) {
method findMin (line 935) | private int findMin(int[] lastPositions) {
method setParallaxHeader (line 950) | public void setParallaxHeader(@LayoutRes int mLayout) {
method setParallaxHeader (line 960) | public void setParallaxHeader(View header) {
method setNormalHeader (line 973) | public void setNormalHeader(View header) {
method setOnParallaxScroll (line 983) | public void setOnParallaxScroll(OnParallaxScroll parallaxScroll) {
method translateHeader (line 996) | public void translateHeader(float of) {
method setScrollMultiplier (line 1024) | public void setScrollMultiplier(float mul) {
method getScrollMultiplier (line 1032) | public float getScrollMultiplier() {
type OnParallaxScroll (line 1037) | public interface OnParallaxScroll {
method onParallaxScroll (line 1038) | void onParallaxScroll(float percentage, float offset, View parallax);
class CustomRelativeWrapper (line 1044) | public static class CustomRelativeWrapper extends RelativeLayout {
method CustomRelativeWrapper (line 1048) | public CustomRelativeWrapper(Context context) {
method dispatchDraw (line 1052) | @Override
method setClipY (line 1059) | public void setClipY(int offset) {
method setScrollViewCallbacks (line 1071) | public void setScrollViewCallbacks(ObservableScrollViewCallbacks liste...
method setItemViewCacheSize (line 1075) | public void setItemViewCacheSize(final int off_screen_items) {
method onRestoreInstanceState (line 1079) | @Override
method onSaveInstanceState (line 1103) | @Override
method onInterceptTouchEvent (line 1116) | @Override
method setTouchInterceptionViewGroup (line 1137) | @Override
method scrollVerticallyTo (line 1143) | @Override
method scrollVerticallyToPosition (line 1154) | public void scrollVerticallyToPosition(int position) {
method getCurrentScrollY (line 1164) | @Override
method onTouchEvent (line 1169) | @Override
method toolbarIsShown (line 1243) | public boolean toolbarIsShown(Toolbar mToolbar) {
method toolbarIsHidden (line 1247) | public boolean toolbarIsHidden(Toolbar mToolbar) {
method showToolbarAndFAB (line 1251) | @Deprecated
method hideToolbarAndFAB (line 1257) | @Deprecated
method showToolbar (line 1263) | public void showToolbar(Toolbar mToolbar, UltimateRecyclerView ultimat...
method hideToolbar (line 1267) | public void hideToolbar(Toolbar mToolbar, UltimateRecyclerView ultimat...
method showView (line 1271) | public void showView(View mView, UltimateRecyclerView ultimateRecycler...
method hideView (line 1275) | public void hideView(View mView, UltimateRecyclerView ultimateRecycler...
method moveToolbar (line 1279) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method moveView (line 1300) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method getDefaultFloatingActionButton (line 1322) | public FloatingActionButton getDefaultFloatingActionButton() {
method setDefaultFloatingActionButton (line 1326) | public void setDefaultFloatingActionButton(FloatingActionButton defaul...
method getCustomFloatingActionView (line 1330) | public View getCustomFloatingActionView() {
method showFloatingActionMenu (line 1338) | public void showFloatingActionMenu() {
method hideFloatingActionMenu (line 1343) | public void hideFloatingActionMenu() {
method showFloatingActionButton (line 1347) | public void showFloatingActionButton() {
method hideFloatingActionButton (line 1352) | public void hideFloatingActionButton() {
method showDefaultFloatingActionButton (line 1356) | public void showDefaultFloatingActionButton() {
method hideDefaultFloatingActionButton (line 1360) | public void hideDefaultFloatingActionButton() {
method displayCustomFloatingActionView (line 1364) | public void displayCustomFloatingActionView(boolean b) {
method displayDefaultFloatingActionButton (line 1369) | public void displayDefaultFloatingActionButton(boolean b) {
method removeItemDecoration (line 1373) | public void removeItemDecoration(RecyclerView.ItemDecoration decoratio...
method addOnItemTouchListener (line 1377) | public void addOnItemTouchListener(RecyclerView.OnItemTouchListener li...
method removeOnItemTouchListener (line 1381) | public void removeOnItemTouchListener(RecyclerView.OnItemTouchListener...
method getLayoutManager (line 1385) | public RecyclerView.LayoutManager getLayoutManager() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateRecyclerviewViewHolder.java
class UltimateRecyclerviewViewHolder (line 17) | public class UltimateRecyclerviewViewHolder<T> extends RecyclerView.View...
method UltimateRecyclerviewViewHolder (line 31) | public UltimateRecyclerviewViewHolder(View itemView) {
method onBindView (line 42) | public void onBindView(Object object) {
method getObject (line 53) | public T getObject() {
method updateView (line 64) | protected void updateView(Context context, T object) {
method getView (line 72) | public View getView() {
method getContext (line 82) | public Context getContext() {
method getResources (line 91) | public Resources getResources() {
method onItemSelected (line 95) | @Override
method onItemClear (line 100) | @Override
method onViewRecycled (line 108) | public void onViewRecycled() {
method onViewAttachedToWindow (line 114) | public void onViewAttachedToWindow() {
method onViewDetachedFromWindow (line 120) | public void onViewDetachedFromWindow() {
method isClickable (line 128) | public boolean isClickable() {
method isLongClickable (line 137) | public boolean isLongClickable() {
method findViewByIdEfficient (line 150) | public <T extends View> T findViewByIdEfficient(int id) {
method findViewByIdEfficient (line 164) | public <T extends View> T findViewByIdEfficient(int parentId, int id) {
method storeView (line 175) | private void storeView(int parentId, int id, View viewRetrieve) {
method findViewById (line 184) | private View findViewById(int parentId, int id) {
method retrieveFromCache (line 197) | private View retrieveFromCache(int parentId, int id) {
method retrieveFromCache (line 215) | private View retrieveFromCache(int id) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateViewAdapter.java
class UltimateViewAdapter (line 24) | public abstract class UltimateViewAdapter<VH extends RecyclerView.ViewHo...
method setCustomHeaderView (line 50) | public void setCustomHeaderView(UltimateRecyclerView.CustomRelativeWra...
method getCustomHeaderView (line 55) | public UltimateRecyclerView.CustomRelativeWrapper getCustomHeaderView() {
method hasHeaderView (line 59) | public boolean hasHeaderView() {
method setCustomLoadMoreView (line 68) | public final void setCustomLoadMoreView(@Nullable View customview) {
method getCustomLoadMoreView (line 73) | public final View getCustomLoadMoreView() {
method enableLoadMore (line 82) | public final boolean enableLoadMore() {
class delayEnableLoadmore (line 87) | private class delayEnableLoadmore implements Runnable {
method delayEnableLoadmore (line 90) | public delayEnableLoadmore(final boolean b) {
method run (line 94) | @Override
method enableLoadMore (line 121) | public final void enableLoadMore(final boolean b) {
method internalExecuteLoadingView (line 125) | public final void internalExecuteLoadingView() {
method onDetachedFromRecyclerView (line 139) | @Override
method setEmptyViewPolicy (line 145) | public final void setEmptyViewPolicy(final int policy) {
method setEmptyViewOnInitPolicy (line 149) | public final void setEmptyViewOnInitPolicy(final int policy) {
method getEmptyViewPolicy (line 153) | public final int getEmptyViewPolicy() {
method getEmptyViewInitPolicy (line 157) | public final int getEmptyViewInitPolicy() {
method onCreateViewHolder (line 169) | @Override
method getAdViewHolder (line 202) | public VH getAdViewHolder(View view) {
method newCustomViewHolder (line 212) | public VH newCustomViewHolder(View view) {
method getNoViewHolder (line 222) | public VH getNoViewHolder(View view) {
method newFooterHolder (line 233) | public abstract VH newFooterHolder(View view);
method newHeaderHolder (line 236) | public abstract VH newHeaderHolder(View view);
method onCreateViewHolder (line 244) | public abstract VH onCreateViewHolder(ViewGroup parent);
method getItemViewType (line 247) | @Override
method isOnCustomView (line 298) | protected boolean isOnCustomView(final int pos) {
method isOnAdView (line 302) | protected boolean isOnAdView(final int pos) {
method getItemCount (line 311) | @Override
method getAdditionalItems (line 316) | public int getAdditionalItems() {
method totalAdditionalItems (line 320) | protected int totalAdditionalItems() {
method getAdapterItemCount (line 332) | public abstract int getAdapterItemCount();
method toggleSelection (line 335) | public final void toggleSelection(int pos) {
method clearSelection (line 340) | public final void clearSelection(int pos) {
method setSelected (line 344) | public final void setSelected(int pos) {
method swapPositions (line 355) | public void swapPositions(List<?> list, int from, int to) {
method insertInternal (line 376) | public final <T> void insertInternal(List<T> list, T object, final int...
method insertFirstInternal (line 384) | public final <T> void insertFirstInternal(List<T> list, T item) {
method insertLastInternal (line 388) | public final <T> void insertLastInternal(List<T> list, T item) {
method insertInternal (line 399) | public final <T> void insertInternal(List<T> insert_data, List<T> orig...
method removeInternal (line 432) | public final <T> void removeInternal(List<T> list, int position) {
method removeNotifyExternal (line 444) | protected void removeNotifyExternal(final int pos) {
method removeFirstInternal (line 448) | public final <T> void removeFirstInternal(List<T> list) {
method removeLastInternal (line 452) | public final <T> void removeLastInternal(List<T> list) {
method clearInternal (line 462) | public final <T> void clearInternal(List<T> list) {
method detectDispatchLoadMoreDisplay (line 476) | protected boolean detectDispatchLoadMoreDisplay(final int data_size_be...
method revealDispatchLoadMoreView (line 516) | protected void revealDispatchLoadMoreView() {
method removeDispatchLoadMoreView (line 524) | protected void removeDispatchLoadMoreView() {
method notifyAfterRemoveAllData (line 542) | protected void notifyAfterRemoveAllData(final int data_size_before_rem...
method removeAllInternal (line 582) | public final <T> void removeAllInternal(List<T> list) {
method getHeaderId (line 586) | @Override
method generateHeaderId (line 595) | public abstract long generateHeaderId(int position);
class VIEW_TYPES (line 598) | public static class VIEW_TYPES {
type AdapterAnimationType (line 611) | protected enum AdapterAnimationType {
method getAdapterAnimations (line 626) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method onItemMove (line 660) | @Override
method onItemDismiss (line 665) | @Override
type OnStartDragListener (line 678) | public interface OnStartDragListener {
method onStartDrag (line 685) | void onStartDrag(RecyclerView.ViewHolder viewHolder);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/PageControlConst.java
class PageControlConst (line 6) | public class PageControlConst {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/catelogGrid.java
class catelogGrid (line 24) | public abstract class catelogGrid<adapter extends easyRegularAdapter, bi...
method getAdatperWithdata (line 30) | protected abstract adapter getAdatperWithdata();
method setUltimateRecyclerViewExtra (line 32) | protected abstract void setUltimateRecyclerViewExtra(final UltimateRec...
method onAttach (line 34) | @Override
method onAttach (line 39) | @Override
method onCreateView (line 44) | @Override
method getUltimate_recycler_viewResId (line 49) | @Override
method getRefresherProgressBarId (line 55) | @Override
method getColumn (line 61) | protected abstract int getColumn();
method onArguments (line 71) | protected abstract boolean onArguments(final Bundle r);
method loadDataInitial (line 79) | protected abstract void loadDataInitial(final adapter confirmAdapter);
method renderviewlayout (line 82) | protected void renderviewlayout(View view) throws Exception {
method onViewCreated (line 96) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/catelogLinear.java
class catelogLinear (line 22) | public abstract class catelogLinear<adapter extends easyRegularAdapter, ...
method getAdatperWithdata (line 33) | protected abstract adapter getAdatperWithdata();
method setUltimateRecyclerViewExtra (line 35) | protected abstract void setUltimateRecyclerViewExtra(final UltimateRec...
method onAttach (line 37) | @Override
method onAttach (line 42) | @Override
method onCreateView (line 47) | @Override
method getUltimate_recycler_viewResId (line 52) | @IdRes
method getRefresherProgressBarId (line 57) | @IdRes
method onArguments (line 69) | protected abstract boolean onArguments(final Bundle r);
method loadDataInitial (line 77) | protected abstract void loadDataInitial(final adapter confirmAdapter);
method renderviewlayout (line 80) | protected void renderviewlayout(View view) throws Exception {
method getSmoothDuration (line 93) | protected int getSmoothDuration() {
method onViewCreated (line 97) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/paginator.java
class paginator (line 13) | public abstract class paginator extends Fragment {
method getProgressbar (line 20) | protected void getProgressbar(View view, @IdRes final int progress_bar...
method getProgressbar (line 28) | protected void getProgressbar(View view) {
method cancelInitalization (line 36) | public final void cancelInitalization() {
method isInitization (line 40) | public final boolean isInitization() {
method setIsStatusRefresh (line 44) | public final void setIsStatusRefresh(boolean b) {
method isStatusRefresh (line 48) | public final boolean isStatusRefresh() {
method getRefresherProgressBarId (line 53) | @IdRes
method getUltimate_recycler_viewResId (line 56) | @IdRes
method getFragmentResId (line 59) | @LayoutRes
method onClickItem (line 62) | protected abstract void onClickItem(final String route);
method onClickItem (line 64) | protected abstract void onClickItem(final long route_id);
method showLoadingCircle (line 67) | protected void showLoadingCircle() {
method hideLoadingCircle (line 74) | protected void hideLoadingCircle() {
method getItemsShownPerPage (line 89) | protected int getItemsShownPerPage() {
method initPaginator (line 93) | protected void initPaginator() {
method getSearchKeyword (line 103) | public String getSearchKeyword() {
method setSearchKeyword (line 107) | public void setSearchKeyword(String searchKeyword) {
method getTagKeyword (line 111) | public String getTagKeyword() {
method setTagKeyword (line 115) | public void setTagKeyword(String tag_keyword) {
method getFullEndPoint (line 119) | public String getFullEndPoint() {
method setFullEndPoint (line 123) | public void setFullEndPoint(String fullEndPoint) {
method isNewSearch (line 127) | public boolean isNewSearch() {
method setEnablNewSearch (line 131) | public void setEnablNewSearch(boolean is_new_search) {
method getCurrentPage (line 135) | protected int getCurrentPage() {
method getTotalPages (line 139) | protected int getTotalPages() {
method getPagePerItems (line 143) | protected int getPagePerItems() {
method setCurrentPage (line 147) | protected void setCurrentPage(int n) {
method nextPage (line 151) | protected void nextPage() {
method setTotalPages (line 158) | protected void setTotalPages(int n) {
method shouldEnableLoadMore (line 167) | protected boolean shouldEnableLoadMore() {
method triggerNewSearchKeyWord (line 171) | public void triggerNewSearchKeyWord(String word) {
method makeBasicRequest (line 176) | protected abstract void makeBasicRequest();
method makeRefreshRequest (line 178) | protected abstract void makeRefreshRequest();
method makeNextRequest (line 180) | protected void makeNextRequest() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/v4/catelogGrid.java
class catelogGrid (line 23) | public abstract class catelogGrid<adapter extends easyRegularAdapter, bi...
method getAdatperWithdata (line 29) | protected abstract adapter getAdatperWithdata();
method setUltimateRecyclerViewExtra (line 31) | protected abstract void setUltimateRecyclerViewExtra(final UltimateRec...
method onAttach (line 33) | @Override
method onAttach (line 38) | @Override
method onCreateView (line 43) | @Override
method getUltimate_recycler_viewResId (line 48) | @Override
method getRefresherProgressBarId (line 54) | @Override
method getColumn (line 60) | protected abstract int getColumn();
method onArguments (line 70) | protected abstract boolean onArguments(final Bundle r);
method loadDataInitial (line 78) | protected abstract void loadDataInitial(final adapter confirmAdapter);
method renderviewlayout (line 81) | protected void renderviewlayout(View view) throws Exception {
method onViewCreated (line 95) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/v4/catelogLinear.java
class catelogLinear (line 22) | public abstract class catelogLinear<adapter extends easyRegularAdapter, ...
method getAdatperWithdata (line 33) | protected abstract adapter getAdatperWithdata();
method setUltimateRecyclerViewExtra (line 35) | protected abstract void setUltimateRecyclerViewExtra(final UltimateRec...
method onAttach (line 37) | @Override
method onAttach (line 42) | @Override
method onCreateView (line 47) | @Override
method getUltimate_recycler_viewResId (line 52) | @IdRes
method getRefresherProgressBarId (line 57) | @IdRes
method onArguments (line 69) | protected abstract boolean onArguments(final Bundle r);
method loadDataInitial (line 77) | protected abstract void loadDataInitial(final adapter confirmAdapter);
method renderviewlayout (line 80) | protected void renderviewlayout(View view) throws Exception {
method getSmoothDuration (line 93) | protected int getSmoothDuration() {
method onViewCreated (line 97) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/v4/paginator.java
class paginator (line 14) | public abstract class paginator extends Fragment {
method getProgressbar (line 21) | protected void getProgressbar(View view, @IdRes final int progress_bar...
method getProgressbar (line 29) | protected void getProgressbar(View view) {
method cancelInitalization (line 37) | public final void cancelInitalization() {
method isInitization (line 41) | public final boolean isInitization() {
method setIsStatusRefresh (line 45) | public final void setIsStatusRefresh(boolean b) {
method isStatusRefresh (line 49) | public final boolean isStatusRefresh() {
method getRefresherProgressBarId (line 54) | @IdRes
method getUltimate_recycler_viewResId (line 57) | @IdRes
method getFragmentResId (line 60) | @LayoutRes
method onClickItem (line 63) | protected abstract void onClickItem(final String route);
method onClickItem (line 65) | protected abstract void onClickItem(final long route_id);
method showLoadingCircle (line 68) | protected void showLoadingCircle() {
method hideLoadingCircle (line 75) | protected void hideLoadingCircle() {
method getItemsShownPerPage (line 90) | protected int getItemsShownPerPage() {
method initPaginator (line 94) | protected void initPaginator() {
method getSearchKeyword (line 104) | public String getSearchKeyword() {
method setSearchKeyword (line 108) | public void setSearchKeyword(String searchKeyword) {
method getTagKeyword (line 112) | public String getTagKeyword() {
method setTagKeyword (line 116) | public void setTagKeyword(String tag_keyword) {
method getFullEndPoint (line 120) | public String getFullEndPoint() {
method setFullEndPoint (line 124) | public void setFullEndPoint(String fullEndPoint) {
method isNewSearch (line 128) | public boolean isNewSearch() {
method setEnablNewSearch (line 132) | public void setEnablNewSearch(boolean is_new_search) {
method getCurrentPage (line 136) | protected int getCurrentPage() {
method getTotalPages (line 140) | protected int getTotalPages() {
method getPagePerItems (line 144) | protected int getPagePerItems() {
method setCurrentPage (line 148) | protected void setCurrentPage(int n) {
method nextPage (line 152) | protected void nextPage() {
method setTotalPages (line 159) | protected void setTotalPages(int n) {
method shouldEnableLoadMore (line 168) | protected boolean shouldEnableLoadMore() {
method triggerNewSearchKeyWord (line 172) | public void triggerNewSearchKeyWord(String word) {
method makeBasicRequest (line 177) | protected abstract void makeBasicRequest();
method makeRefreshRequest (line 179) | protected abstract void makeRefreshRequest();
method makeNextRequest (line 181) | protected void makeNextRequest() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/DragInfo.java
class DragInfo (line 6) | public class DragInfo {
method DragInfo (line 12) | public DragInfo(long itemId, Point shadowSize, Point shadowTouchPoint,...
method itemId (line 19) | public long itemId() {
method shouldScrollLeft (line 23) | public boolean shouldScrollLeft() {
method shouldScrollRight (line 27) | public boolean shouldScrollRight(int parentWidth) {
method shouldScrollUp (line 31) | public boolean shouldScrollUp() {
method shouldScrollDown (line 35) | public boolean shouldScrollDown(int parentHeight) {
method setDragPoint (line 39) | public void setDragPoint(float x, float y) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/DragManager.java
class DragManager (line 12) | public class DragManager implements View.OnDragListener {
method DragManager (line 20) | public DragManager(RecyclerView recyclerView, DragSortAdapter<?> adapt...
method onDrag (line 25) | @Override public boolean onDrag(View v, DragEvent event) {
method clearNextMove (line 140) | public void clearNextMove() {
method getDraggingId (line 144) | public long getDraggingId() { return draggingId; }
method getLastDragInfo (line 146) | @Nullable public DragInfo getLastDragInfo() { return lastDragInfo; }
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/DragSortAdapter.java
class DragSortAdapter (line 28) | public abstract class DragSortAdapter<VH extends DragSortAdapter.ViewHol...
method DragSortAdapter (line 39) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method getPositionForId (line 95) | public abstract int getPositionForId(long id);
method move (line 105) | public abstract boolean move(int fromPosition, int toPosition);
method onDrop (line 110) | public void onDrop() {
method getDraggingId (line 120) | public long getDraggingId() {
method getLastTouchPoint (line 127) | public PointF getLastTouchPoint() {
method handleScroll (line 131) | private void handleScroll(RecyclerView recyclerView) {
method handleDragScroll (line 141) | @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
class ViewHolder (line 162) | public static abstract class ViewHolder extends RecyclerView.ViewHolder {
method ViewHolder (line 166) | public ViewHolder(DragSortAdapter<?> dragSortAdapter, View itemView) {
method startDrag (line 171) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method getShadowBuilder (line 180) | public View.DragShadowBuilder getShadowBuilder(View itemView, Point ...
method startDrag (line 184) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/DragSortShadowBuilder.java
class DragSortShadowBuilder (line 27) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method DragSortShadowBuilder (line 34) | public DragSortShadowBuilder(View view, Point touchPoint) {
method onProvideShadowMetrics (line 39) | @Override
method onDrawShadow (line 50) | @Override public void onDrawShadow(@NonNull Canvas canvas) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/NoForegroundShadowBuilder.java
class NoForegroundShadowBuilder (line 12) | public class NoForegroundShadowBuilder extends DragSortShadowBuilder {
method NoForegroundShadowBuilder (line 16) | public NoForegroundShadowBuilder(View view, Point touchPoint) {
method onDrawShadow (line 21) | @Override public void onDrawShadow(@NonNull Canvas canvas) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/ExpandableItemData.java
class ExpandableItemData (line 12) | public class ExpandableItemData<T extends ExpandableItemData> implements...
method isExpand (line 21) | public boolean isExpand() {
method setExpand (line 25) | public void setExpand(boolean expand) {
method getType (line 29) | public int getType() {
method setType (line 33) | public void setType(int type) {
method getText (line 37) | public String getText() {
method setText (line 41) | public void setText(String text) {
method getChildren (line 45) | public List<T> getChildren() {
method setChildren (line 49) | public void setChildren(List<T> children) {
method ExpandableItemData (line 53) | public ExpandableItemData(int type, String text, String path, String u...
method ExpandableItemData (line 64) | public ExpandableItemData() {
method getUuid (line 68) | public String getUuid() {
method setUuid (line 72) | public void setUuid(String uuid) {
method getPath (line 76) | public String getPath() {
method setPath (line 80) | public void setPath(String path) {
method getTreeDepth (line 84) | public int getTreeDepth() {
method setTreeDepth (line 88) | public void setTreeDepth(int treeDepth) {
method compareTo (line 92) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/LinearExpanxURVAdapter.java
class LinearExpanxURVAdapter (line 25) | public abstract class LinearExpanxURVAdapter<T extends ExpandableItemDat...
class ExpandableViewTypes (line 27) | public class ExpandableViewTypes extends VIEW_TYPES {
method ExpandableViewTypes (line 32) | protected ExpandableViewTypes() {
method getContext (line 47) | protected Context getContext() {
method getSet (line 52) | protected List<T> getSet() {
method addOnScrollToListener (line 56) | public void addOnScrollToListener(OnScrollToListener onScrollToListene...
method setOnScrollToListener (line 60) | @Deprecated
method LinearExpanxURVAdapter (line 65) | public LinearExpanxURVAdapter(Context context, final int clickhandler,...
method LinearExpanxURVAdapter (line 70) | public LinearExpanxURVAdapter(Context context, final int clickhandler) {
method LinearExpanxURVAdapter (line 76) | public LinearExpanxURVAdapter(Context context) {
method iniCustomParentHolder (line 89) | protected abstract G iniCustomParentHolder(View parentview);
method iniCustomChildHolder (line 97) | protected abstract H iniCustomChildHolder(View childview);
method initiateview (line 99) | private View initiateview(ViewGroup parent, final @LayoutRes int layou...
method getLayoutResParent (line 103) | protected abstract int getLayoutResParent();
method getLayoutResChild (line 105) | protected abstract int getLayoutResChild();
method onCreateViewHolder (line 107) | @Override
method getBehavior (line 121) | private ItemDataClickListener getBehavior() {
method onBindViewHolder (line 131) | @Override
method onCreateViewHolder (line 148) | @Override
method triggerBoardCastEventScrollTo (line 153) | private void triggerBoardCastEventScrollTo(final int n) {
method triggerSingleEventScrollTo (line 160) | private void triggerSingleEventScrollTo(final int n) {
method getChildrenByPath (line 166) | protected abstract List<T> getChildrenByPath(String path, int depth, f...
method onCreateHeaderViewHolder (line 169) | @Override
method onBindHeaderViewHolder (line 174) | @Override
method getItemCount (line 179) | @Override
method getAdapterItemCount (line 189) | @Override
method generateHeaderId (line 194) | @Override
method getChildrenCount (line 199) | private int getChildrenCount(T item) {
method printChild (line 205) | private void printChild(Object item, List<Object> list) {
method removeAll (line 224) | protected void removeAll(int position, int itemCount) {
method getCurrentPosition (line 237) | protected int getCurrentPosition(String uuid) {
method getItemViewType (line 246) | @Override
method add (line 251) | public void add(T text, int position) {
method addAll (line 256) | public void addAll(List<T> list, int position) {
method delete (line 261) | public void delete(int pos) {
method onExpandChildren (line 283) | @Override
method onHideChildren (line 295) | @Override
method onExpandChildren (line 309) | @Override
method onHideChildren (line 323) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/SmartItem.java
class SmartItem (line 14) | public class SmartItem extends ExpandableItemData {
method SmartItem (line 24) | public SmartItem(int type, String text, String path, int depth, List<S...
method parent (line 28) | public static SmartItem parent(final String title, final String path, ...
method parent (line 32) | public static SmartItem parent(final Context ctx, final @StringRes int...
method child (line 37) | public static SmartItem child(final String title, final String path) {
method child (line 41) | public static SmartItem child(final Context ctx, final @StringRes int ...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/BaseViewHolder.java
class BaseViewHolder (line 21) | public class BaseViewHolder<T extends ExpandableItemData> extends Ultima...
method BaseViewHolder (line 23) | public BaseViewHolder(View itemView) {
method getView (line 28) | protected View getView(final Context m, final ViewGroup parent, final ...
method getMarginBy (line 36) | protected void getMarginBy() {
method getParamsLayoutOffset (line 44) | protected RelativeLayout.LayoutParams getParamsLayoutOffset(ImageView ...
method getParamsLayoutOffset (line 50) | protected RelativeLayout.LayoutParams getParamsLayoutOffset(RelativeLa...
method getParamsLayoutOffset (line 56) | protected RelativeLayout.LayoutParams getParamsLayoutOffset(TextView l...
method getParamsLayout (line 63) | protected RelativeLayout.LayoutParams getParamsLayout(TextView layout,...
method getParamsLayout (line 71) | protected RelativeLayout.LayoutParams getParamsLayout(ImageView image,...
method getParamsLayout (line 77) | protected RelativeLayout.LayoutParams getParamsLayout(RelativeLayout l...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/ChildClickListener.java
type ChildClickListener (line 6) | public interface ChildClickListener {
method onClickSubMenuItem (line 7) | void onClickSubMenuItem(final String[] bypath, final String fullpath);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/ChildVH.java
type ChildVH (line 8) | public interface ChildVH<bindData extends ExpandableItemData> {
method bindView (line 9) | void bindView(final bindData itemData, int position);
method onChildItemClick (line 11) | void onChildItemClick(final String title, final String path);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/DataUtil.java
class DataUtil (line 24) | public class DataUtil {
method getSmallList (line 27) | public static List<SmartItem> getSmallList(final String[] list) {
method getChildrenByPath (line 42) | public static List<ExpandableItemData> getChildrenByPath(String path, ...
method openFileInSystem (line 70) | public static void openFileInSystem(String path, Context context) {
method fileExt (line 84) | @SuppressLint("DefaultLocale")
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/ItemDataClickListener.java
type ItemDataClickListener (line 11) | public interface ItemDataClickListener<T extends ExpandableItemData> {
method onExpandChildren (line 13) | void onExpandChildren(T itemData);
method onHideChildren (line 15) | void onHideChildren(T itemData);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/OnScrollToListener.java
type OnScrollToListener (line 8) | public interface OnScrollToListener {
method scrollTo (line 9) | public void scrollTo(int position);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/ParentVH.java
type ParentVH (line 8) | public interface ParentVH<bindData extends ExpandableItemData> {
method bindView (line 10) | void bindView(final bindData itemData, final int position, final ItemD...
method rotationExpandIcon (line 12) | void rotationExpandIcon(float from, float to);
method onParentItemClick (line 14) | void onParentItemClick(final String path);
method openDegree (line 16) | int openDegree();
method closeDegree (line 18) | int closeDegree();
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/child.java
class child (line 10) | public abstract class child<T extends ExpandableItemData> extends BaseVi...
method child (line 11) | public child(View itemView) {
method setChildListener (line 18) | public void setChildListener(ChildClickListener mlistener) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/easyTemplateChild.java
class easyTemplateChild (line 15) | public abstract class easyTemplateChild<T extends ExpandableItemData, B ...
method easyTemplateChild (line 23) | public easyTemplateChild(View itemView, int itemMargin, int expandSize) {
method easyTemplateChild (line 29) | public easyTemplateChild(View itemView) {
method forceTitleCapitalized (line 40) | protected void forceTitleCapitalized(boolean b) {
method bindView (line 44) | @Override
method onChildItemClick (line 64) | @Override
method request_api (line 72) | protected void request_api(final String[] n, final String title) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/easyTemplateParent.java
class easyTemplateParent (line 19) | public abstract class easyTemplateParent<T extends ExpandableItemData, H...
method easyTemplateParent (line 29) | public easyTemplateParent(View itemView) {
method forceTitleCapitalized (line 39) | protected void forceTitleCapitalized(boolean b) {
method setNotifcationFieldEnabled (line 43) | protected void setNotifcationFieldEnabled(boolean b) {
method getItem (line 54) | protected T getItem() {
method setCountVisible (line 58) | @Override
method updateCountNumber (line 64) | @Override
method bindView (line 70) | @Override
method onParentItemClick (line 94) | @Override
method openDegree (line 99) | @Override
method closeDegree (line 104) | @Override
method onAnimationUpdate (line 114) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/parent.java
class parent (line 17) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method parent (line 19) | public parent(View itemView) {
method setCountVisible (line 23) | protected abstract void setCountVisible(int visibility);
method updateCountNumber (line 25) | protected abstract void updateCountNumber(final String text);
method toggleExpenable (line 27) | private void toggleExpenable(final ExpandableItemData itemData, final ...
method rotationExpandIcon (line 50) | @Override
method setHandleInitiatedViewStatus (line 62) | protected void setHandleInitiatedViewStatus(final ExpandableItemData i...
method setRelativeLayoutClickable (line 78) | protected <V extends View> void setRelativeLayoutClickable(final V cli...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/customizedAdapter.java
class customizedAdapter (line 11) | public abstract class customizedAdapter<G extends parent<SmartItem>, T e...
method customizedAdapter (line 13) | public customizedAdapter(Context context) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/grid/BasicGridLayoutManager.java
class BasicGridLayoutManager (line 11) | public class BasicGridLayoutManager extends GridLayoutManager {
method getSpanSize (line 17) | @Override
method getSpanInterval (line 28) | protected int getSpanInterval(int position) {
method getHeaderSpanCount (line 35) | protected int getHeaderSpanCount(int n) {
method getNormalSpanCount (line 39) | protected int getNormalSpanCount(int item_position) {
method decideSpanSizeCal (line 43) | protected GridLayoutManager.SpanSizeLookup decideSpanSizeCal() {
method BasicGridLayoutManager (line 47) | public BasicGridLayoutManager(Context context, int spanCount, Ultimate...
method BasicGridLayoutManager (line 53) | public BasicGridLayoutManager(Context context, int spanCount, int orie...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/grid/GridPaddingDecorator.java
class GridPaddingDecorator (line 14) | public class GridPaddingDecorator extends RecyclerView.ItemDecoration {
method GridPaddingDecorator (line 24) | public GridPaddingDecorator(int vPadding, int hPadding, int spanCount) {
method getItemOffsets (line 30) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/grid/GridSpacingItemDecoration.java
class GridSpacingItemDecoration (line 10) | public class GridSpacingItemDecoration extends RecyclerView.ItemDecorati...
method GridSpacingItemDecoration (line 16) | public GridSpacingItemDecoration(int spanCount, int spacing, boolean i...
method getItemOffsets (line 22) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/grid/customSectionGridAdapter.java
class customSectionGridAdapter (line 6) | public class customSectionGridAdapter {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/gridSection/HeaderViewHolder.java
class HeaderViewHolder (line 11) | public class HeaderViewHolder extends RecyclerView.ViewHolder {
method HeaderViewHolder (line 15) | public HeaderViewHolder(View itemView, @IdRes int titleID) {
method render (line 20) | public void render(String title) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/gridSection/SectionedRecyclerViewAdapter.java
class SectionedRecyclerViewAdapter (line 9) | public abstract class SectionedRecyclerViewAdapter<H extends RecyclerVie...
method SectionedRecyclerViewAdapter (line 24) | public SectionedRecyclerViewAdapter() {
method onAttachedToRecyclerView (line 29) | @Override
method getItemCount (line 39) | @Override
method setupIndices (line 44) | private void setupIndices() {
method countItems (line 50) | private int countItems() {
method precomputeIndices (line 60) | private void precomputeIndices() {
method allocateAuxiliaryArrays (line 80) | private void allocateAuxiliaryArrays(int count) {
method setPrecomputedItem (line 87) | private void setPrecomputedItem(int index, boolean isHeader, boolean i...
method onCreateViewHolder (line 94) | @Override
method onBindViewHolder (line 109) | @Override
method getItemViewType (line 124) | @Override
method getSectionHeaderViewType (line 144) | protected int getSectionHeaderViewType(int section) {
method getSectionFooterViewType (line 148) | protected int getSectionFooterViewType(int section) {
method getSectionItemViewType (line 157) | protected int getSectionItemViewType(int section, int position) {
method isSectionHeaderPosition (line 167) | public boolean isSectionHeaderPosition(int position) {
method isSectionFooterPosition (line 180) | public boolean isSectionFooterPosition(int position) {
method isSectionHeaderViewType (line 187) | protected boolean isSectionHeaderViewType(int viewType) {
method isSectionFooterViewType (line 191) | protected boolean isSectionFooterViewType(int viewType) {
method getSectionCount (line 200) | protected abstract int getSectionCount();
method getItemCountForSection (line 208) | protected abstract int getItemCountForSection(int section);
method hasFooterInSection (line 216) | protected abstract boolean hasFooterInSection(int section);
method onCreateSectionHeaderViewHolder (line 226) | protected abstract H onCreateSectionHeaderViewHolder(ViewGroup parent,...
method onCreateSectionFooterViewHolder (line 235) | protected abstract F onCreateSectionFooterViewHolder(ViewGroup parent,...
method onCreateItemViewHolder (line 244) | protected abstract VH onCreateItemViewHolder(ViewGroup parent, int vie...
method onBindSectionHeaderViewHolder (line 252) | protected abstract void onBindSectionHeaderViewHolder(H holder, int se...
method onBindSectionFooterViewHolder (line 260) | protected abstract void onBindSectionFooterViewHolder(F holder, int se...
method onBindItemViewHolder (line 269) | protected abstract void onBindItemViewHolder(VH holder, int section, i...
class SectionDataObserver (line 271) | class SectionDataObserver extends RecyclerView.AdapterDataObserver {
method onChanged (line 272) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/gridSection/SectionedSpanSizeLookup.java
class SectionedSpanSizeLookup (line 8) | public class SectionedSpanSizeLookup extends GridLayoutManager.SpanSizeL...
method SectionedSpanSizeLookup (line 13) | public SectionedSpanSizeLookup(SectionedRecyclerViewAdapter<?, ?, ?> a...
method getSpanSize (line 18) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/gridSection/SimpleSectionedAdapter.java
class SimpleSectionedAdapter (line 19) | public abstract class SimpleSectionedAdapter<VH extends RecyclerView.Vie...
method hasFooterInSection (line 22) | @Override
method onCreateSectionHeaderViewHolder (line 27) | @Override
method onCreateSectionFooterViewHolder (line 35) | @Override
method onBindSectionHeaderViewHolder (line 40) | @Override
method onBindSectionFooterViewHolder (line 46) | @Override
method getLayoutResource (line 56) | @LayoutRes
method getTitleTextID (line 67) | @IdRes
method getSectionHeaderTitle (line 78) | protected abstract String getSectionHeaderTitle(int section);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/itemTouchHelper/ItemTouchHelperAdapter.java
type ItemTouchHelperAdapter (line 27) | public interface ItemTouchHelperAdapter {
method onItemMove (line 42) | void onItemMove(int fromPosition, int toPosition);
method onItemDismiss (line 55) | void onItemDismiss(int position);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/itemTouchHelper/ItemTouchHelperViewHolder.java
type ItemTouchHelperViewHolder (line 27) | public interface ItemTouchHelperViewHolder {
method onItemSelected (line 33) | void onItemSelected();
method onItemClear (line 40) | void onItemClear();
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/itemTouchHelper/SimpleItemTouchHelperCallback.java
class SimpleItemTouchHelperCallback (line 35) | public class SimpleItemTouchHelperCallback extends ItemTouchHelper.Callb...
method SimpleItemTouchHelperCallback (line 41) | public SimpleItemTouchHelperCallback(ItemTouchHelperAdapter adapter) {
method isLongPressDragEnabled (line 45) | @Override
method isItemViewSwipeEnabled (line 50) | @Override
method getMovementFlags (line 55) | @Override
method onMove (line 63) | @Override
method onSwiped (line 73) | @Override
method onChildDraw (line 79) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
method onSelectedChanged (line 91) | @Override
method clearView (line 101) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/layoutmanagers/ClassicSpanGridLayoutManager.java
class ClassicSpanGridLayoutManager (line 16) | public class ClassicSpanGridLayoutManager extends GridLayoutManager {
method onGetSpeanSize (line 22) | protected int onGetSpeanSize(final int position) {
method getSpanGroupIndex (line 56) | @Override
method getSpanSize (line 61) | @Override
method ClassicSpanGridLayoutManager (line 67) | public ClassicSpanGridLayoutManager(Context context, int spanCount, ea...
method ClassicSpanGridLayoutManager (line 74) | public ClassicSpanGridLayoutManager(Context context, int spanCount, in...
method ClassicSpanGridLayoutManager (line 84) | public ClassicSpanGridLayoutManager(Context context, int spanCount, in...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/layoutmanagers/CustomLinearLayoutManager.java
class CustomLinearLayoutManager (line 12) | public class CustomLinearLayoutManager extends LinearLayoutManager {
method CustomLinearLayoutManager (line 14) | public CustomLinearLayoutManager(Context context, int orientation, boo...
method onMeasure (line 20) | @Override
method measureScrapChild (line 64) | private void measureScrapChild(RecyclerView.Recycler recycler, int pos...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/layoutmanagers/ScrollSmoothLineaerLayoutManager.java
class ScrollSmoothLineaerLayoutManager (line 13) | public class ScrollSmoothLineaerLayoutManager extends LinearLayoutManager {
method ScrollSmoothLineaerLayoutManager (line 16) | public ScrollSmoothLineaerLayoutManager(Context context, int orientati...
method onLayoutChildren (line 25) | @Override
method supportsPredictiveItemAnimations (line 39) | @Override
method smoothScrollToPosition (line 44) | @Override
class SmoothScroller (line 58) | private class SmoothScroller extends LinearSmoothScroller {
method SmoothScroller (line 63) | public SmoothScroller(Context context, int distanceInPixels, int dur...
method computeScrollVectorForPosition (line 71) | @Override
method calculateTimeForScrolling (line 77) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/multiViewTypes/DataBinder.java
class DataBinder (line 13) | abstract public class DataBinder<T extends UltimateRecyclerviewViewHolde...
method DataBinder (line 17) | public DataBinder(UltimateDifferentViewTypeAdapter dataBindAdapter) {
method newViewHolder (line 21) | abstract public T newViewHolder(ViewGroup parent);
method bindViewHolder (line 23) | abstract public void bindViewHolder(T holder, int position);
method getItemCount (line 25) | abstract public int getItemCount();
method notifyDataSetChanged (line 27) | public final void notifyDataSetChanged() {
method notifyBinderDataSetChanged (line 31) | public final void notifyBinderDataSetChanged() {
method notifyBinderItemChanged (line 35) | public final void notifyBinderItemChanged(int position) {
method notifyBinderItemRangeChanged (line 39) | public final void notifyBinderItemRangeChanged(int positionStart, int ...
method notifyBinderItemInserted (line 43) | public final void notifyBinderItemInserted(int position) {
method notifyBinderItemMoved (line 47) | public final void notifyBinderItemMoved(int fromPosition, int toPositi...
method notifyBinderItemRangeInserted (line 51) | public final void notifyBinderItemRangeInserted(int positionStart, int...
method notifyBinderItemRemoved (line 55) | public final void notifyBinderItemRemoved(int position) {
method notifyBinderItemRangeRemoved (line 59) | public final void notifyBinderItemRangeRemoved(int positionStart, int ...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/AdItemHolder.java
class AdItemHolder (line 12) | public abstract class AdItemHolder extends UltimateRecyclerviewViewHolder {
method AdItemHolder (line 15) | public AdItemHolder(View itemView, int type) {
method bindNormal (line 25) | protected abstract void bindNormal(View view);
method bindAd (line 27) | protected abstract void bindAd(View view);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/AdmobAdapter.java
class AdmobAdapter (line 17) | public abstract class AdmobAdapter<Adv extends ViewGroup, T, BINDHOLDER ...
type AdviewListener (line 18) | public interface AdviewListener<Adv extends ViewGroup> {
method onGenerateAdview (line 19) | Adv onGenerateAdview();
method AdmobAdapter (line 44) | public AdmobAdapter(Adv adview, boolean insertOnce, int setInterval, L...
method AdmobAdapter (line 58) | public AdmobAdapter(
method getAdViewHolder (line 95) | @Override
method totalAdditionalItems (line 113) | @Override
method isOnAdView (line 135) | @Override
method notifyAfterRemoveAllData (line 141) | @Override
method getItemDataPosFromInternalPos (line 178) | @Override
method getReverseDataArrayPosition (line 198) | protected int getReverseDataArrayPosition(final int dataPos) {
method isPosOnAdView (line 218) | public final boolean isPosOnAdView(final int pos) {
method atAdPos (line 228) | public final int atAdPos(final int pos) {
method getFinalShiftPosition (line 240) | public final int getFinalShiftPosition(int pos) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/BiAdAdapterSwitcher.java
class BiAdAdapterSwitcher (line 27) | public class BiAdAdapterSwitcher<
method setMaxPages (line 48) | public void setMaxPages(final int n) {
method BiAdAdapterSwitcher (line 52) | public BiAdAdapterSwitcher(UltimateRecyclerView view, EASY adapter_wit...
method EnableAutoDisableLoadMoreByMaxPages (line 59) | public BiAdAdapterSwitcher EnableAutoDisableLoadMoreByMaxPages() {
method init (line 64) | public void init(final boolean adenabled) {
method emptyViewControl (line 75) | protected void emptyViewControl() {
method scrollToTop (line 84) | public void scrollToTop() {
type onLoadMore (line 101) | public interface onLoadMore {
method request_start (line 102) | boolean request_start(int current_page_no, int itemsCount, final int...
method run (line 106) | @Override
method setCustomOnFresh (line 125) | protected BiAdAdapterSwitcher setCustomOnFresh(Runnable h) {
method onEnableRefresh (line 137) | public BiAdAdapterSwitcher onEnableRefresh(final int delay_trigger) {
method removeALL (line 147) | public void removeALL() {
method notifyDataSetChanged (line 154) | public void notifyDataSetChanged() {
method reset (line 162) | private void reset() {
method load_more_data (line 172) | public void load_more_data(final List<T> new_data_list) {
method load_more_data_at_zero (line 180) | public void load_more_data_at_zero(final List<T> new_data_list) {
method onEnableLoadmore (line 188) | public BiAdAdapterSwitcher onEnableLoadmore(
method getV (line 223) | private View getV(final @LayoutRes int layoutResId) {
method insert_default (line 228) | private void insert_default(EASY sd, List<T> list) {
method insert_default (line 232) | private void insert_default(ADMOB sd, List<T> list) {
method maximum_size (line 236) | public static <V extends ViewGroup> void maximum_size(LinearLayout l, ...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/StaggerHolder.java
class StaggerHolder (line 14) | public abstract class StaggerHolder extends UltimateRecyclerviewViewHold...
method StaggerHolder (line 19) | public StaggerHolder(View itemView, int type) {
method bindHeader (line 36) | protected abstract void bindHeader(View view);
method bindFooter (line 38) | protected abstract void bindFooter(View view);
method bindNormal (line 40) | protected abstract void bindNormal(View view);
method bindAd (line 42) | protected abstract void bindAd(View view);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/easyRegularAdapter.java
class easyRegularAdapter (line 21) | public abstract class easyRegularAdapter<T, BINDHOLDER extends UltimateR...
method easyRegularAdapter (line 30) | public easyRegularAdapter(List<T> list) {
method easyRegularAdapter (line 40) | public easyRegularAdapter(T... objects) {
method getNormalLayoutResId (line 50) | protected abstract int getNormalLayoutResId();
method newViewHolder (line 58) | protected abstract BINDHOLDER newViewHolder(View view);
method newFooterHolder (line 60) | @Override
method newHeaderHolder (line 65) | @Override
method onCreateViewHolder (line 76) | @Override
method getAdapterItemCount (line 82) | @Override
method getItem (line 87) | protected T getItem(final int pos) {
method hasItem (line 99) | public boolean hasItem(T object) {
method isEmpty (line 112) | public boolean isEmpty() {
method getObjects (line 120) | public List<T> getObjects() {
method generateHeaderId (line 127) | @Override
method onBindViewHolder (line 134) | @Override
method getItemDataPosFromInternalPos (line 156) | protected int getItemDataPosFromInternalPos(final int touch_position) {
method withBindHolder (line 176) | protected abstract void withBindHolder(final BINDHOLDER holder, final ...
method onBindHeaderViewHolder (line 184) | @Override
method onBindFooterViewHolder (line 189) | protected void onBindFooterViewHolder(RecyclerView.ViewHolder holder, ...
method onBindCustomViewHolder (line 193) | protected void onBindCustomViewHolder(RecyclerView.ViewHolder holder, ...
method onBindAdViewHolder (line 197) | protected void onBindAdViewHolder(RecyclerView.ViewHolder holder, fina...
method onCreateHeaderViewHolder (line 201) | @Override
method insert (line 207) | public void insert(List<T> new_data) {
method removeAll (line 211) | public void removeAll() {
method insertFirst (line 215) | public void insertFirst(T item) {
method insertLast (line 219) | public void insertLast(T item) {
method removeAt (line 224) | public final void removeAt(int pos) {
method removeLast (line 228) | public void removeLast() {
method removeFirst (line 232) | public void removeFirst() {
method swapPositions (line 236) | public final void swapPositions(int from, int to) {
method setStableId (line 240) | public void setStableId(boolean b) {
method getConstructorWithView (line 301) | private Constructor<?> getConstructorWithView(Class<? extends BINDHOLD...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/extBaseAdapter/BaseAdapterHelper.java
class BaseAdapterHelper (line 44) | public class BaseAdapterHelper {
method BaseAdapterHelper (line 65) | protected BaseAdapterHelper(Context context, ViewGroup parent,
method get (line 85) | public static BaseAdapterHelper get(Context context, View convertView,
method get (line 100) | static BaseAdapterHelper get(Context context, View convertView,
method getView (line 128) | public <T extends View> T getView(int viewId) {
method retrieveView (line 132) | @SuppressWarnings("unchecked")
method setText (line 149) | public BaseAdapterHelper setText(int viewId, String value) {
method setImageResource (line 162) | public BaseAdapterHelper setImageResource(int viewId, int imageResId) {
method setBackgroundColor (line 175) | public BaseAdapterHelper setBackgroundColor(int viewId, int color) {
method setBackgroundRes (line 188) | public BaseAdapterHelper setBackgroundRes(int viewId, int backgroundRe...
method setTextColor (line 201) | public BaseAdapterHelper setTextColor(int viewId, int textColor) {
method setTextColorRes (line 214) | public BaseAdapterHelper setTextColorRes(int viewId, int textColorRes) {
method setImageDrawable (line 227) | public BaseAdapterHelper setImageDrawable(int viewId, Drawable drawabl...
method setImageUrl (line 245) | public BaseAdapterHelper setImageUrl(int viewId, String imageUrl) {
method setImageBitmap (line 273) | public BaseAdapterHelper setImageBitmap(int viewId, Bitmap bitmap) {
method setAlpha (line 287) | @SuppressLint("NewApi")
method setVisible (line 308) | public BaseAdapterHelper setVisible(int viewId, boolean visible) {
method linkify (line 320) | public BaseAdapterHelper linkify(int viewId) {
method setTypeface (line 333) | public BaseAdapterHelper setTypeface(int viewId, Typeface typeface) {
method setTypeface (line 348) | public BaseAdapterHelper setTypeface(Typeface typeface, int... viewIds) {
method setProgress (line 364) | public BaseAdapterHelper setProgress(int viewId, int progress) {
method setProgress (line 378) | public BaseAdapterHelper setProgress(int viewId, int progress, int max) {
method setMax (line 392) | public BaseAdapterHelper setMax(int viewId, int max) {
method setRating (line 405) | public BaseAdapterHelper setRating(int viewId, float rating) {
method setRating (line 419) | public BaseAdapterHelper setRating(int viewId, float rating, int max) {
method setTag (line 433) | public BaseAdapterHelper setTag(int viewId, Object tag) {
method setTag (line 447) | public BaseAdapterHelper setTag(int viewId, int key, Object tag) {
method setChecked (line 460) | public BaseAdapterHelper setChecked(int viewId, boolean checked) {
method setAdapter (line 473) | public BaseAdapterHelper setAdapter(int viewId, Adapter adapter) {
method setOnClickListener (line 486) | public BaseAdapterHelper setOnClickListener(int viewId,
method setOnTouchListener (line 500) | public BaseAdapterHelper setOnTouchListener(int viewId,
method setOnLongClickListener (line 514) | public BaseAdapterHelper setOnLongClickListener(int viewId,
method getView (line 526) | public View getView() {
method getPosition (line 537) | public int getPosition() {
method getAssociatedObject (line 550) | public Object getAssociatedObject() {
method setAssociatedObject (line 559) | public void setAssociatedObject(Object associatedObject) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/extBaseAdapter/BaseQuickAdapter.java
class BaseQuickAdapter (line 40) | public abstract class BaseQuickAdapter<T, H extends BaseAdapterHelper> e...
method BaseQuickAdapter (line 58) | public BaseQuickAdapter(Context context, int layoutResId) {
method BaseQuickAdapter (line 70) | public BaseQuickAdapter(Context context, int layoutResId, List<T> data) {
method BaseQuickAdapter (line 78) | public BaseQuickAdapter(Context context, ArrayList<T> data,
method getCount (line 85) | @Override
method getItem (line 91) | @Override
method getItemId (line 98) | @Override
method getViewTypeCount (line 103) | @Override
method getItemViewType (line 110) | @Override
method getView (line 126) | @Override
method createIndeterminateProgressView (line 139) | private View createIndeterminateProgressView(View convertView,
method isEnabled (line 151) | @Override
method add (line 156) | public void add(T elem) {
method addAll (line 161) | public void addAll(List<T> elem) {
method set (line 166) | public void set(T oldElem, T newElem) {
method set (line 170) | public void set(int index, T elem) {
method remove (line 175) | public void remove(T elem) {
method remove (line 180) | public void remove(int index) {
method replaceAll (line 185) | public void replaceAll(List<T> elem) {
method contains (line 191) | public boolean contains(T elem) {
method clear (line 198) | public void clear() {
method showIndeterminateProgress (line 203) | public void showIndeterminateProgress(boolean display) {
method convert (line 217) | protected abstract void convert(H helper, T item);
method getAdapterHelper (line 236) | protected abstract H getAdapterHelper(int position, View convertView,
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/extBaseAdapter/EnhancedQuickAdapter.java
class EnhancedQuickAdapter (line 34) | public abstract class EnhancedQuickAdapter<T> extends QuickAdapter<T> {
method EnhancedQuickAdapter (line 41) | public EnhancedQuickAdapter(Context context, int layoutResId) {
method EnhancedQuickAdapter (line 52) | public EnhancedQuickAdapter(Context context, int layoutResId, List<T> ...
method convert (line 56) | @Override
method convert (line 68) | protected abstract void convert(BaseAdapterHelper helper, T item, bool...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/extBaseAdapter/QuickAdapter.java
class QuickAdapter (line 23) | public abstract class QuickAdapter<T> extends
method QuickAdapter (line 32) | public QuickAdapter(Context context, int layoutResId) {
method QuickAdapter (line 44) | public QuickAdapter(Context context, int layoutResId, List<T> data) {
method QuickAdapter (line 48) | public QuickAdapter(Context context, ArrayList<T> data,
method getAdapterHelper (line 53) | protected BaseAdapterHelper getAdapterHelper(int position,
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/extUtimateRVA/MultiItemTypeSupport.java
type MultiItemTypeSupport (line 6) | public interface MultiItemTypeSupport<T> {
method getLayoutId (line 7) | int getLayoutId(int position, T t);
method getViewTypeCount (line 9) | int getViewTypeCount();
method getItemViewType (line 11) | int getItemViewType(int postion, T t);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/HeaderPositionCalculator.java
class HeaderPositionCalculator (line 15) | public class HeaderPositionCalculator {
method HeaderPositionCalculator (line 22) | public HeaderPositionCalculator(StickyRecyclerHeadersAdapter adapter, ...
method hasNewHeader (line 37) | public boolean hasNewHeader(int position) {
method indexOutOfBounds (line 51) | private boolean indexOutOfBounds(int position) {
method getHeaderBounds (line 55) | public Rect getHeaderBounds(RecyclerView recyclerView, View header, Vi...
method getDefaultHeaderOffset (line 70) | private Rect getDefaultHeaderOffset(RecyclerView recyclerView, View he...
method isStickyHeaderBeingPushedOffscreen (line 89) | private boolean isStickyHeaderBeingPushedOffscreen(RecyclerView recycl...
method translateHeaderWithNextHeader (line 119) | private void translateHeaderWithNextHeader(RecyclerView recyclerView, ...
method getFirstViewUnobscuredByHeader (line 144) | private View getFirstViewUnobscuredByHeader(RecyclerView parent, View ...
method itemIsObscuredByHeader (line 163) | private boolean itemIsObscuredByHeader(RecyclerView parent, View item,...
method getListTop (line 191) | private int getListTop(RecyclerView view) {
method getListLeft (line 199) | private int getListLeft(RecyclerView view) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/StickyRecyclerHeadersAdapter.java
type StickyRecyclerHeadersAdapter (line 6) | public interface StickyRecyclerHeadersAdapter<VH extends RecyclerView.Vi...
method getHeaderId (line 15) | long getHeaderId(int position);
method onCreateHeaderViewHolder (line 25) | VH onCreateHeaderViewHolder(ViewGroup parent);
method onBindHeaderViewHolder (line 33) | void onBindHeaderViewHolder(VH holder, int position);
method getItemCount (line 35) | int getItemCount();
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/StickyRecyclerHeadersDecoration.java
class StickyRecyclerHeadersDecoration (line 17) | public class StickyRecyclerHeadersDecoration extends RecyclerView.ItemDe...
method StickyRecyclerHeadersDecoration (line 28) | public StickyRecyclerHeadersDecoration(com.marshalchen.ultimaterecycle...
method StickyRecyclerHeadersDecoration (line 32) | private StickyRecyclerHeadersDecoration(com.marshalchen.ultimaterecycl...
method StickyRecyclerHeadersDecoration (line 38) | private StickyRecyclerHeadersDecoration(com.marshalchen.ultimaterecycl...
method StickyRecyclerHeadersDecoration (line 45) | private StickyRecyclerHeadersDecoration(com.marshalchen.ultimaterecycl...
method getItemOffsets (line 56) | @Override
method setItemOffsetsForHeader (line 76) | private void setItemOffsetsForHeader(Rect itemOffsets, View header, in...
method onDrawOver (line 85) | @Override
method hasStickyHeader (line 110) | private boolean hasStickyHeader(int listChildPosition, int indexInList) {
method findHeaderPositionUnder (line 125) | public int findHeaderPositionUnder(int x, int y) {
method getHeaderView (line 143) | public View getHeaderView(RecyclerView parent, int position) {
method invalidateHeaders (line 151) | public void invalidateHeaders() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/StickyRecyclerHeadersTouchListener.java
class StickyRecyclerHeadersTouchListener (line 9) | public class StickyRecyclerHeadersTouchListener implements RecyclerView....
type OnHeaderClickListener (line 15) | public interface OnHeaderClickListener {
method onHeaderClick (line 16) | public void onHeaderClick(View header, int position, long headerId);
method StickyRecyclerHeadersTouchListener (line 19) | public StickyRecyclerHeadersTouchListener(final RecyclerView recyclerV...
method getAdapter (line 26) | public com.marshalchen.ultimaterecyclerview.stickyheadersrecyclerview....
method setOnHeaderClickListener (line 37) | public void setOnHeaderClickListener(OnHeaderClickListener listener) {
method onInterceptTouchEvent (line 41) | @Override
method onTouchEvent (line 46) | @Override
method onRequestDisallowInterceptTouchEvent (line 48) | @Override
class SingleTapDetector (line 52) | private class SingleTapDetector extends GestureDetector.SimpleOnGestur...
method onSingleTapUp (line 53) | @Override
method onDoubleTap (line 67) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/caching/HeaderProvider.java
type HeaderProvider (line 9) | public interface HeaderProvider {
method getHeader (line 18) | public View getHeader(RecyclerView recyclerView, int position);
method invalidate (line 23) | void invalidate();
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/caching/HeaderViewCache.java
class HeaderViewCache (line 15) | public class HeaderViewCache implements com.marshalchen.ultimaterecycler...
method HeaderViewCache (line 21) | public HeaderViewCache(StickyRecyclerHeadersAdapter adapter,
method getHeader (line 27) | @Override
method invalidate (line 64) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/calculation/DimensionCalculator.java
class DimensionCalculator (line 12) | public class DimensionCalculator {
method getMargins (line 20) | public Rect getMargins(View view) {
method getMarginRect (line 38) | private Rect getMarginRect(MarginLayoutParams marginLayoutParams) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/rendering/HeaderRenderer.java
class HeaderRenderer (line 15) | public class HeaderRenderer {
method HeaderRenderer (line 20) | public HeaderRenderer(OrientationProvider orientationProvider) {
method HeaderRenderer (line 24) | private HeaderRenderer(OrientationProvider orientationProvider,
method drawHeader (line 39) | public void drawHeader(RecyclerView recyclerView, Canvas canvas, View ...
method getClipRectForHeader (line 65) | private Rect getClipRectForHeader(RecyclerView recyclerView, View head...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/util/LinearLayoutOrientationProvider.java
class LinearLayoutOrientationProvider (line 9) | public class LinearLayoutOrientationProvider implements com.marshalchen....
method getOrientation (line 11) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/stickyheadersrecyclerview/util/OrientationProvider.java
type OrientationProvider (line 8) | public interface OrientationProvider {
method getOrientation (line 10) | public int getOrientation(RecyclerView recyclerView);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/swipe/SimpleSwipeListener.java
class SimpleSwipeListener (line 3) | public class SimpleSwipeListener implements SwipeLayout.SwipeListener {
method onStartOpen (line 5) | @Override
method onOpen (line 9) | @Override
method onStartClose (line 13) | @Override
method onClose (line 17) | @Override
method onUpdate (line 21) | @Override
method onHandRelease (line 25) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/swipe/SwipeItemManagerImpl.java
class SwipeItemManagerImpl (line 18) | public class SwipeItemManagerImpl implements SwipeItemManagerInterface {
method SwipeItemManagerImpl (line 30) | public SwipeItemManagerImpl(RecyclerView.Adapter adapter) {
method getMode (line 40) | public Mode getMode() {
method setMode (line 44) | public void setMode(Mode mode) {
method initialize (line 52) | private void initialize(UltimateRecyclerviewViewHolder targetViewHolde...
method updateConvertView (line 62) | public void updateConvertView(UltimateRecyclerviewViewHolder targetVie...
method openItem (line 78) | @Override
method closeItem (line 88) | @Override
method closeAllExcept (line 98) | @Override
method removeShownLayouts (line 106) | @Override
method getOpenItems (line 111) | @Override
method getOpenLayouts (line 120) | @Override
method isOpen (line 125) | @Override
class OnLayoutListener (line 134) | private class OnLayoutListener implements SwipeLayout.OnLayout {
method OnLayoutListener (line 138) | OnLayoutListener(int position) {
method setPosition (line 142) | public void setPosition(int position) {
method onLayout (line 146) | @Override
class SwipeMemory (line 157) | private class SwipeMemory extends SimpleSwipeListener {
method SwipeMemory (line 161) | SwipeMemory(int position) {
method onClose (line 165) | @Override
method onStartOpen (line 174) | @Override
method onOpen (line 181) | @Override
method setPosition (line 191) | public void setPosition(int position) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/swipe/SwipeItemManagerInterface.java
type SwipeItemManagerInterface (line 6) | public interface SwipeItemManagerInterface {
method openItem (line 8) | void openItem(int position);
method closeItem (line 10) | void closeItem(int position);
method closeAllExcept (line 12) | void closeAllExcept(SwipeLayout layout);
method getOpenItems (line 14) | List<Integer> getOpenItems();
method getOpenLayouts (line 16) | List<SwipeLayout> getOpenLayouts();
method removeShownLayouts (line 18) | void removeShownLayouts(SwipeLayout layout);
method isOpen (line 20) | boolean isOpen(int position);
method getMode (line 22) | Mode getMode();
method setMode (line 24) | void setMode(Mode mode);
type Mode (line 27) | enum Mode {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/swipe/SwipeLayout.java
class SwipeLayout (line 33) | public class SwipeLayout extends FrameLayout {
type DragEdge (line 64) | public enum DragEdge {
type ShowMode (line 71) | public enum ShowMode {
method SwipeLayout (line 76) | public SwipeLayout(Context context) {
method SwipeLayout (line 80) | public SwipeLayout(Context context, AttributeSet attrs) {
method SwipeLayout (line 84) | public SwipeLayout(Context context, AttributeSet attrs, int defStyle) {
type SwipeListener (line 115) | public interface SwipeListener {
method onStartOpen (line 116) | void onStartOpen(SwipeLayout layout);
method onOpen (line 118) | void onOpen(SwipeLayout layout);
method onStartClose (line 120) | void onStartClose(SwipeLayout layout);
method onClose (line 122) | void onClose(SwipeLayout layout);
method onUpdate (line 124) | void onUpdate(SwipeLayout layout, int leftOffset, int topOffset);
method onHandRelease (line 126) | void onHandRelease(SwipeLayout layout, float xvel, float yvel);
method addSwipeListener (line 129) | public void addSwipeListener(SwipeListener l) {
method removeSwipeListener (line 133) | public void removeSwipeListener(SwipeListener l) {
method removeAllSwipeListener (line 137) | public void removeAllSwipeListener() {
type SwipeDenier (line 141) | public interface SwipeDenier {
method shouldDenySwipe (line 149) | boolean shouldDenySwipe(MotionEvent ev);
method addSwipeDenier (line 152) | public void addSwipeDenier(SwipeDenier denier) {
method removeSwipeDenier (line 156) | public void removeSwipeDenier(SwipeDenier denier) {
method removeAllSwipeDeniers (line 160) | public void removeAllSwipeDeniers() {
type OnRevealListener (line 164) | public interface OnRevealListener {
method onReveal (line 165) | void onReveal(View child, DragEdge edge, float fraction, int distance);
method addRevealListener (line 176) | public void addRevealListener(int childId, OnRevealListener l) {
method addRevealListener (line 198) | public void addRevealListener(int[] childIds, OnRevealListener l) {
method removeRevealListener (line 203) | public void removeRevealListener(int childId, OnRevealListener l) {
method removeAllRevealListeners (line 212) | public void removeAllRevealListeners(int childId) {
method clampViewPositionHorizontal (line 222) | @Override
method clampViewPositionVertical (line 263) | @Override
method tryCaptureView (line 315) | @Override
method getViewHorizontalDragRange (line 324) | @Override
method getViewVerticalDragRange (line 329) | @Override
method onViewReleased (line 336) | @Override
method onViewPositionChanged (line 347) | @Override
method isViewTotallyFirstShowed (line 414) | protected boolean isViewTotallyFirstShowed(View child, Rect relativePo...
method isViewShowing (line 436) | protected boolean isViewShowing(View child, Rect relativePosition, Dra...
method getRelativePosition (line 484) | protected Rect getRelativePosition(View child) {
method dispatchSwipeEvent (line 500) | protected void dispatchSwipeEvent(int surfaceLeft, int surfaceTop, int...
method dispatchSwipeEvent (line 516) | protected void dispatchSwipeEvent(int surfaceLeft, int surfaceTop, boo...
method safeBottomView (line 556) | private void safeBottomView() {
method dispatchRevealEvent (line 574) | protected void dispatchRevealEvent(final int surfaceLeft, final int su...
method computeScroll (line 648) | @Override
type OnLayout (line 660) | public interface OnLayout {
method onLayout (line 661) | void onLayout(SwipeLayout v);
method addOnLayoutListener (line 666) | public void addOnLayoutListener(OnLayout l) {
method removeOnLayoutListener (line 671) | public void removeOnLayoutListener(OnLayout l) {
method clearDragEdge (line 675) | public void clearDragEdge() {
method setDrag (line 679) | public void setDrag(DragEdge dragEdge, int childId) {
method setDrag (line 684) | public void setDrag(DragEdge dragEdge, View child) {
method addDrag (line 689) | public void addDrag(DragEdge dragEdge, int childId) {
method addDrag (line 693) | public void addDrag(DragEdge dragEdge, View child) {
method addDrag (line 697) | public void addDrag(DragEdge dragEdge, View child, ViewGroup.LayoutPar...
method addView (line 727) | @Override
method onLayout (line 767) | @Override
method layoutPullOut (line 776) | void layoutPullOut() {
method layoutLayDown (line 790) | void layoutLayDown() {
method checkCanDrag (line 806) | private void checkCanDrag(MotionEvent ev) {
method onInterceptTouchEvent (line 879) | @Override
method onTouchEvent (line 933) | @Override
method isClickToClose (line 969) | public boolean isClickToClose() {
method setClickToClose (line 973) | public void setClickToClose(boolean mClickToClose) {
method setSwipeEnabled (line 977) | public void setSwipeEnabled(boolean enabled) {
method isSwipeEnabled (line 981) | public boolean isSwipeEnabled() {
method isLeftSwipeEnabled (line 985) | public boolean isLeftSwipeEnabled() {
method setLeftSwipeEnabled (line 991) | public void setLeftSwipeEnabled(boolean leftSwipeEnabled) {
method isRightSwipeEnabled (line 995) | public boolean isRightSwipeEnabled() {
method setRightSwipeEnabled (line 1001) | public void setRightSwipeEnabled(boolean rightSwipeEnabled) {
method isTopSwipeEnabled (line 1005) | public boolean isTopSwipeEnabled() {
method setTopSwipeEnabled (line 1011) | public void setTopSwipeEnabled(boolean topSwipeEnabled) {
method isBottomSwipeEnabled (line 1015) | public boolean isBottomSwipeEnabled() {
method setBottomSwipeEnabled (line 1021) | public void setBottomSwipeEnabled(boolean bottomSwipeEnabled) {
method insideAdapterView (line 1025) | private boolean insideAdapterView() {
method getAdapterView (line 1029) | private AdapterView getAdapterView() {
method performAdapterViewItemClick (line 1037) | private void performAdapterViewItemClick() {
method performAdapterViewItemLongClick (line 1050) | private boolean performAdapterViewItemLongClick() {
method onAttachedToWindow (line 1079) | @Override
method setOnClickListener (line 1105) | @Override
method setOnLongClickListener (line 1113) | @Override
method isTouchOnSurface (line 1121) | private boolean isTouchOnSurface(MotionEvent ev) {
class SwipeDetector (line 1135) | class SwipeDetector extends GestureDetector.SimpleOnGestureListener {
method onSingleTapUp (line 1136) | @Override
method onDoubleTap (line 1144) | @Override
method setDragDistance (line 1168) | public void setDragDistance(int max) {
method setShowMode (line 1181) | public void setShowMode(ShowMode mode) {
method getDragEdge (line 1186) | public DragEdge getDragEdge() {
method getDragDistance (line 1190) | public int getDragDistance() {
method getShowMode (line 1194) | public ShowMode getShowMode() {
method getSurfaceView (line 1201) | public View getSurfaceView() {
method getCurrentBottomView (line 1209) | @Nullable
method getBottomViews (line 1221) | public List<View> getBottomViews() {
type Status (line 1229) | public enum Status {
method getOpenStatus (line 1241) | public Status getOpenStatus() {
method processHandRelease (line 1265) | protected void processHandRelease(float xvel, float yvel, boolean isCl...
method open (line 1311) | public void open() {
method open (line 1315) | public void open(boolean smooth) {
method open (line 1319) | public void open(boolean smooth, boolean notify) {
method open (line 1348) | public void open(DragEdge edge) {
method open (line 1353) | public void open(boolean smooth, DragEdge edge) {
method open (line 1358) | public void open(boolean smooth, boolean notify, DragEdge edge) {
method close (line 1366) | public void close() {
method close (line 1370) | public void close(boolean smooth) {
method close (line 1380) | public void close(boolean smooth, boolean notify) {
method toggle (line 1403) | public void toggle() {
method toggle (line 1407) | public void toggle(boolean smooth) {
method computeSurfaceLayoutArea (line 1419) | private Rect computeSurfaceLayoutArea(boolean open) {
method computeBottomLayoutAreaViaSurface (line 1433) | private Rect computeBottomLayoutAreaViaSurface(ShowMode mode, Rect sur...
method computeBottomLayDown (line 1468) | private Rect computeBottomLayDown(DragEdge dragEdge) {
method setOnDoubleClickListener (line 1486) | public void setOnDoubleClickListener(DoubleClickListener doubleClickLi...
type DoubleClickListener (line 1490) | public interface DoubleClickListener {
method onDoubleClick (line 1491) | void onDoubleClick(SwipeLayout layout, boolean surface);
method dp2px (line 1494) | private int dp2px(float dp) {
method setDragEdge (line 1504) | @Deprecated
method onViewRemoved (line 1513) | @Override
method getDragEdgeMap (line 1522) | public Map<DragEdge, View> getDragEdgeMap() {
method getDragEdges (line 1529) | @Deprecated
method setDragEdges (line 1539) | @Deprecated
method setDragEdges (line 1558) | @Deprecated
method setBottomViewIds (line 1574) | @Deprecated
method getCurrentOffset (line 1582) | private float getCurrentOffset() {
method setCurrentDragEdge (line 1587) | private void setCurrentDragEdge(DragEdge dragEdge) {
method updateBottomViews (line 1592) | private void updateBottomViews() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/swipelistview/BaseSwipeListViewListener.java
class BaseSwipeListViewListener (line 3) | public class BaseSwipeListViewListener implements SwipeListViewListener {
method onOpened (line 4) | @Override
method onClosed (line 8) | @Override
method onListChanged (line 12) | @Override
method onMove (line 16) | @Override
method onStartOpen (line 20) | @Override
method onStartClose (line 24) | @Override
method onClickFrontView (line 28) | @Override
method onClickBackView (line 32) | @Override
method onDismiss (line 36) | @Override
method onChangeSwipeMode (line 40) | @Override
method onChoiceChanged (line 45) | @Override
method onChoiceStarted (line 49) | @Override
method onChoiceEnded (line 53) | @Override
method onFirstListItem (line 57) | @Override
method onLastListItem (line 61) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/swipelistview/SwipeListView.java
class SwipeListView (line 41) | public class SwipeListView extends RecyclerView {
method SwipeListView (line 153) | public SwipeListView(Context context, int swipeBackView, int swipeFron...
method SwipeListView (line 165) | public SwipeListView(Context context, AttributeSet attrs) {
method SwipeListView (line 177) | public SwipeListView(Context context, AttributeSet attrs, int defStyle) {
method init (line 187) | public void init(AttributeSet attrs) {
method recycle (line 254) | public void recycle(View convertView, int position) {
method isChecked (line 273) | public boolean isChecked(int position) {
method getPositionsSelected (line 282) | public List<Integer> getPositionsSelected() {
method getCountSelected (line 291) | public int getCountSelected() {
method unselectedChoiceStates (line 298) | public void unselectedChoiceStates() {
method setAdapter (line 305) | @Override
method setLayoutManager (line 333) | @Override
method dismiss (line 350) | public void dismiss(int position) {
method dismissSelected (line 365) | public void dismissSelected() {
method openAnimate (line 391) | public void openAnimate(int position) {
method closeAnimate (line 400) | public void closeAnimate(int position) {
method onDismiss (line 409) | protected void onDismiss(int[] reverseSortedPositions) {
method onStartOpen (line 422) | protected void onStartOpen(int position, int action, boolean right) {
method onStartClose (line 434) | protected void onStartClose(int position, boolean right) {
method onClickFrontView (line 445) | protected void onClickFrontView(int position) {
method onClickBackView (line 456) | protected void onClickBackView(int position) {
method onOpened (line 468) | protected void onOpened(int position, boolean toRight) {
method onClosed (line 480) | protected void onClosed(int position, boolean fromRight) {
method onChoiceChanged (line 492) | protected void onChoiceChanged(int position, boolean selected) {
method onChoiceStarted (line 501) | protected void onChoiceStarted() {
method onChoiceEnded (line 510) | protected void onChoiceEnded() {
method onFirstListItem (line 519) | protected void onFirstListItem() {
method onLastListItem (line 528) | protected void onLastListItem() {
method onListChanged (line 537) | protected void onListChanged() {
method onMove (line 549) | protected void onMove(int position, float x) {
method changeSwipeMode (line 555) | protected int changeSwipeMode(int position) {
method setSwipeListViewListener (line 567) | public void setSwipeListViewListener(SwipeListViewListener swipeListVi...
method resetScrolling (line 574) | public void resetScrolling() {
method setOffsetRight (line 583) | public void setOffsetRight(float offsetRight) {
method setOffsetLeft (line 592) | public void setOffsetLeft(float offsetLeft) {
method setOnlyOneOpenedWhenSwipe (line 596) | public void setOnlyOneOpenedWhenSwipe(boolean onlyOneOpenedWhenSwipe) {
method setSwipeCloseAllItemsWhenMoveList (line 606) | public void setSwipeCloseAllItemsWhenMoveList(boolean swipeCloseAllIte...
method setSwipeOpenOnLongPress (line 615) | public void setSwipeOpenOnLongPress(boolean swipeOpenOnLongPress) {
method setSwipeMode (line 624) | public void setSwipeMode(int swipeMode) {
method getSwipeActionLeft (line 633) | public int getSwipeActionLeft() {
method setSwipeActionLeft (line 642) | public void setSwipeActionLeft(int swipeActionLeft) {
method getSwipeActionRight (line 651) | public int getSwipeActionRight() {
method setSwipeActionRight (line 660) | public void setSwipeActionRight(int swipeActionRight) {
method setAnimationTime (line 669) | public void setAnimationTime(long animationTime) {
method onInterceptTouchEvent (line 676) | @Override
method checkInMoving (line 719) | private void checkInMoving(float x, float y) {
method closeOpenedItems (line 743) | public void closeOpenedItems() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/swipelistview/SwipeListViewListener.java
type SwipeListViewListener (line 24) | public interface SwipeListViewListener {
method onOpened (line 31) | void onOpened(int position, boolean toRight);
method onClosed (line 38) | void onClosed(int position, boolean fromRight);
method onListChanged (line 43) | void onListChanged();
method onMove (line 50) | void onMove(int position, float x);
method onStartOpen (line 58) | void onStartOpen(int position, int action, boolean right);
method onStartClose (line 65) | void onStartClose(int position, boolean right);
method onClickFrontView (line 71) | void onClickFrontView(int position);
method onClickBackView (line 77) | void onClickBackView(int position);
method onDismiss (line 83) | void onDismiss(int[] reverseSortedPositions);
method onChangeSwipeMode (line 91) | int onChangeSwipeMode(int position);
method onChoiceChanged (line 98) | void onChoiceChanged(int position, boolean selected);
method onChoiceStarted (line 103) | void onChoiceStarted();
method onChoiceEnded (line 108) | void onChoiceEnded();
method onFirstListItem (line 113) | void onFirstListItem();
method onLastListItem (line 118) | void onLastListItem();
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/swipelistview/SwipeListViewTouchListener.java
class SwipeListViewTouchListener (line 50) | public class SwipeListViewTouchListener implements View.OnTouchListener {
method SwipeListViewTouchListener (line 116) | public SwipeListViewTouchListener(SwipeListView swipeListView, int swi...
method setParentView (line 133) | private void setParentView(View parentView) {
method setLayoutManager (line 137) | public void setLayoutManager(LinearLayoutManager layoutManager) {
method setFrontView (line 147) | private void setFrontView(View frontView, final int childPosition) {
method setBackView (line 177) | private void setBackView(View backView) {
method setOnlyOneOpenedWhenSwipe (line 187) | public void setOnlyOneOpenedWhenSwipe(boolean onlyOneOpenedWhenSwipe) {
method isListViewMoving (line 195) | public boolean isListViewMoving() {
method setAnimationTime (line 204) | public void setAnimationTime(long animationTime) {
method setRightOffset (line 217) | public void setRightOffset(float rightOffset) {
method setLeftOffset (line 226) | public void setLeftOffset(float leftOffset) {
method setSwipeClosesAllItemsWhenListMoves (line 235) | public void setSwipeClosesAllItemsWhenListMoves(boolean swipeClosesAll...
method setSwipeOpenOnLongPress (line 244) | public void setSwipeOpenOnLongPress(boolean swipeOpenOnLongPress) {
method setSwipeMode (line 253) | public void setSwipeMode(int swipeMode) {
method isSwipeEnabled (line 262) | protected boolean isSwipeEnabled() {
method getSwipeActionLeft (line 271) | public int getSwipeActionLeft() {
method setSwipeActionLeft (line 280) | public void setSwipeActionLeft(int swipeActionLeft) {
method getSwipeActionRight (line 289) | public int getSwipeActionRight() {
method setSwipeActionRight (line 298) | public void setSwipeActionRight(int swipeActionRight) {
method setSwipeDrawableChecked (line 307) | protected void setSwipeDrawableChecked(int swipeDrawableChecked) {
method setSwipeDrawableUnchecked (line 316) | protected void setSwipeDrawableUnchecked(int swipeDrawableUnchecked) {
method resetItems (line 323) | public void resetItems() {
method openAnimate (line 339) | protected void openAnimate(int position) {
method closeAnimate (line 352) | protected void closeAnimate(int position) {
method swapChoiceState (line 371) | private void swapChoiceState(int position) {
method unselectedChoiceStates (line 395) | protected void unselectedChoiceStates() {
method dismiss (line 414) | protected int dismiss(int position) {
method reloadChoiceStateInView (line 436) | protected void reloadChoiceStateInView(View frontView, int position) {
method reloadSwipeStateInView (line 450) | protected void reloadSwipeStateInView(View frontView, int position) {
method isChecked (line 469) | protected boolean isChecked(int position) {
method getCountSelected (line 478) | protected int getCountSelected() {
method getPositionsSelected (line 496) | protected List<Integer> getPositionsSelected() {
method openAnimate (line 512) | private void openAnimate(View view, int position) {
method closeAnimate (line 524) | private void closeAnimate(View view, int position) {
method generateAnimate (line 538) | private void generateAnimate(final View view, final boolean swap, fina...
method generateChoiceAnimate (line 559) | private void generateChoiceAnimate(final View view, final int position) {
method generateDismissAnimate (line 587) | private void generateDismissAnimate(final View view, final boolean swa...
method generateRevealAnimate (line 644) | private void generateRevealAnimate(final View view, final boolean swap...
method resetCell (line 704) | private void resetCell() {
method setEnabled (line 722) | public void setEnabled(boolean enabled) {
method makeScrollListener (line 731) | public RecyclerView.OnScrollListener makeScrollListener() {
method closeOpenedItems (line 792) | void closeOpenedItems() {
method onTouch (line 808) | @Override
method closeOtherOpenedItems (line 1009) | private void closeOtherOpenedItems() {
method setActionsTo (line 1021) | private void setActionsTo(int action) {
method returnOldActions (line 1028) | protected void returnOldActions() {
method move (line 1038) | public void move(float deltaX) {
class PendingDismissData (line 1087) | class PendingDismissData implements Comparable<PendingDismissData> {
method PendingDismissData (line 1091) | public PendingDismissData(int position, View view) {
method compareTo (line 1096) | @Override
method performDismiss (line 1111) | protected void performDismiss(final View dismissView, final int dismis...
method resetPendingDismisses (line 1152) | protected void resetPendingDismisses() {
method handlerPendingDismisses (line 1161) | protected void handlerPendingDismisses(final int originalHeight) {
method removePendingDismisses (line 1178) | private void removePendingDismisses(int originalHeight) {
method enableDisableViewGroup (line 1205) | public static void enableDisableViewGroup(ViewGroup viewGroup, boolean...
class defaultAnimation (line 1217) | private class defaultAnimation implements ViewPropertyAnimatorListener
method onAnimationStart (line 1221) | @Override
method onAnimationEnd (line 1226) | @Override
method onAnimationCancel (line 1231) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/AdGoogleDisplaySupport.java
class AdGoogleDisplaySupport (line 14) | public class AdGoogleDisplaySupport {
method initialSupport (line 22) | public static RelativeLayout initialSupport(Activity activity, Display...
method panelAdjust (line 28) | public static <ad extends ViewGroup> void panelAdjust(ad view, final i...
method panelAdjust (line 32) | public static <ad extends ViewGroup> void panelAdjust(ad view, final i...
method panelAdjustApply (line 36) | private static <ad extends ViewGroup> void panelAdjustApply(ad view, f...
method ratioMatching (line 46) | public static double ratioMatching(DisplayMetrics Dm) {
method defaultHeight (line 55) | public static int defaultHeight(DisplayMetrics Dm) {
method defaultHeight (line 59) | public static int defaultHeight(DisplayMetrics Dm, int type) {
method defaultHeightApply (line 63) | private static int defaultHeightApply(DisplayMetrics Dm, int type) {
method scale (line 89) | public static <T extends ViewGroup> void scale(T view, double scaleRat...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/AnimationType.java
type AnimationType (line 33) | public enum AnimationType {
method AnimationType (line 59) | AnimationType(BaseItemAnimator animator) {
method getAnimator (line 63) | public BaseItemAnimator getAnimator() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/CustomPtr.java
class CustomPtr (line 12) | public class CustomPtr extends PtrFrameLayout {
method CustomPtr (line 13) | public CustomPtr(Context context) {
method CustomPtr (line 17) | public CustomPtr(Context context, AttributeSet attrs) {
method CustomPtr (line 21) | public CustomPtr(Context context, AttributeSet attrs, int defStyle) {
method dispatchTouchEvent (line 25) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/DividerItemDecoration.java
class DividerItemDecoration (line 15) | public class DividerItemDecoration extends RecyclerView.ItemDecoration{
method DividerItemDecoration (line 28) | public DividerItemDecoration(Context context, int orientation) {
method setOrientation (line 35) | public void setOrientation(int orientation) {
method onDraw (line 42) | @Override
method drawVertical (line 51) | public void drawVertical(Canvas c, RecyclerView parent) {
method drawHorizontal (line 67) | public void drawHorizontal(Canvas c, RecyclerView parent) {
method getItemOffsets (line 83) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/VerticalSwipeRefreshLayout.java
class VerticalSwipeRefreshLayout (line 10) | public class VerticalSwipeRefreshLayout extends SwipeRefreshLayout {
method VerticalSwipeRefreshLayout (line 15) | public VerticalSwipeRefreshLayout(Context context, AttributeSet attrs) {
method onInterceptTouchEvent (line 20) | @Override
method onMeasure (line 40) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/divideritemdecoration/FlexibleDividerDecoration.java
class FlexibleDividerDecoration (line 20) | public abstract class FlexibleDividerDecoration extends RecyclerView.Ite...
type DividerType (line 27) | protected enum DividerType {
method FlexibleDividerDecoration (line 40) | protected FlexibleDividerDecoration(Builder builder) {
method setSizeProvider (line 71) | private void setSizeProvider(Builder builder) {
method onDrawOver (line 83) | @Override
method getItemOffsets (line 126) | @Override
method getDividerBound (line 132) | protected abstract Rect getDividerBound(int position, RecyclerView par...
method setItemOffsets (line 134) | protected abstract void setItemOffsets(Rect outRect, int position, Rec...
type VisibilityProvider (line 139) | public interface VisibilityProvider {
method shouldHideDivider (line 148) | boolean shouldHideDivider(int position, RecyclerView parent);
type PaintProvider (line 154) | public interface PaintProvider {
method dividerPaint (line 163) | Paint dividerPaint(int position, RecyclerView parent);
type ColorProvider (line 169) | public interface ColorProvider {
method dividerColor (line 178) | int dividerColor(int position, RecyclerView parent);
type DrawableProvider (line 184) | public interface DrawableProvider {
method drawableProvider (line 193) | Drawable drawableProvider(int position, RecyclerView parent);
type SizeProvider (line 199) | public interface SizeProvider {
method dividerSize (line 209) | int dividerSize(int position, RecyclerView parent);
class Builder (line 212) | public static class Builder<T extends Builder> {
method shouldHideDivider (line 221) | @Override
method Builder (line 228) | public Builder(Context context) {
method paint (line 233) | public T paint(final Paint paint) {
method paintProvider (line 242) | public T paintProvider(PaintProvider provider) {
method color (line 247) | public T color(final int color) {
method colorResId (line 256) | public T colorResId(@ColorRes int colorId) {
method colorProvider (line 260) | public T colorProvider(ColorProvider provider) {
method drawable (line 265) | public T drawable(@DrawableRes int id) {
method drawable (line 269) | public T drawable(final Drawable drawable) {
method drawableProvider (line 278) | public T drawableProvider(DrawableProvider provider) {
method size (line 283) | public T size(final int size) {
method sizeResId (line 292) | public T sizeResId(@DimenRes int sizeId) {
method sizeProvider (line 296) | public T sizeProvider(SizeProvider provider) {
method visibilityProvider (line 301) | public T visibilityProvider(VisibilityProvider provider) {
method showLastDivider (line 306) | public T showLastDivider() {
method checkBuilderParams (line 311) | protected void checkBuilderParams() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/divideritemdecoration/HorizontalDividerItemDecoration.java
class HorizontalDividerItemDecoration (line 14) | public class HorizontalDividerItemDecoration extends FlexibleDividerDeco...
method HorizontalDividerItemDecoration (line 18) | protected HorizontalDividerItemDecoration(Builder builder) {
method getDividerBound (line 23) | @Override
method setItemOffsets (line 46) | @Override
method getDividerSize (line 51) | private int getDividerSize(int position, RecyclerView parent) {
type MarginProvider (line 66) | public interface MarginProvider {
method dividerLeftMargin (line 75) | int dividerLeftMargin(int position, RecyclerView parent);
method dividerRightMargin (line 84) | int dividerRightMargin(int position, RecyclerView parent);
class Builder (line 87) | public static class Builder extends FlexibleDividerDecoration.Builder<...
method dividerLeftMargin (line 90) | @Override
method dividerRightMargin (line 95) | @Override
method Builder (line 101) | public Builder(Context context) {
method margin (line 105) | public Builder margin(final int leftMargin, final int rightMargin) {
method margin (line 119) | public Builder margin(int horizontalMargin) {
method marginResId (line 123) | public Builder marginResId(@DimenRes int leftMarginId, @DimenRes int...
method marginResId (line 128) | public Builder marginResId(@DimenRes int horizontalMarginId) {
method marginProvider (line 132) | public Builder marginProvider(MarginProvider provider) {
method build (line 137) | public HorizontalDividerItemDecoration build() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/divideritemdecoration/VerticalDividerItemDecoration.java
class VerticalDividerItemDecoration (line 14) | public class VerticalDividerItemDecoration extends FlexibleDividerDecora...
method VerticalDividerItemDecoration (line 18) | protected VerticalDividerItemDecoration(Builder builder) {
method getDividerBound (line 23) | @Override
method setItemOffsets (line 46) | @Override
method getDividerSize (line 51) | private int getDividerSize(int position, RecyclerView parent) {
type MarginProvider (line 66) | public interface MarginProvider {
method dividerTopMargin (line 75) | int dividerTopMargin(int position, RecyclerView parent);
method dividerBottomMargin (line 84) | int dividerBottomMargin(int position, RecyclerView parent);
class Builder (line 87) | public static class Builder extends FlexibleDividerDecoration.Builder<...
method dividerTopMargin (line 90) | @Override
method dividerBottomMargin (line 95) | @Override
method Builder (line 101) | public Builder(Context context) {
method margin (line 105) | public Builder margin(final int topMargin, final int bottomMargin) {
method margin (line 119) | public Builder margin(int verticalMargin) {
method marginResId (line 123) | public Builder marginResId(@DimenRes int topMarginId, @DimenRes int ...
method marginResId (line 128) | public Builder marginResId(@DimenRes int verticalMarginId) {
method marginProvider (line 132) | public Builder marginProvider(MarginProvider provider) {
method build (line 137) | public VerticalDividerItemDecoration build() {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/emptyview/emptyViewOnShownListener.java
type emptyViewOnShownListener (line 8) | public interface emptyViewOnShownListener {
method onEmptyViewShow (line 9) | void onEmptyViewShow(final View mView);
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/floatingactionbutton/AddFloatingActionButton.java
class AddFloatingActionButton (line 16) | public class AddFloatingActionButton extends FloatingActionButton {
method AddFloatingActionButton (line 19) | public AddFloatingActionButton(Context context) {
method AddFloatingActionButton (line 23) | public AddFloatingActionButton(Context context, AttributeSet attrs) {
method AddFloatingActionButton (line 27) | public AddFloatingActionButton(Context context, AttributeSet attrs, in...
method init (line 31) | @Override
method getIconDrawable (line 54) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/floatingactionbutton/FloatingActionButton.java
class FloatingActionButton (line 39) | public class FloatingActionButton extends ImageButton {
method FloatingActionButton (line 67) | public FloatingActionButton(Context context) {
method FloatingActionButton (line 71) | public FloatingActionButton(Context context, AttributeSet attrs) {
method FloatingActionButton (line 76) | public FloatingActionButton(Context context, AttributeSet attrs, int d...
method init (line 81) | protected void init(Context context, AttributeSet attributeSet) {
method updateBackground (line 107) | protected void updateBackground() {
method getColor (line 120) | protected int getColor(@ColorRes int id) {
method getDimension (line 124) | protected float getDimension(@DimenRes int id) {
method initAttributes (line 128) | protected void initAttributes(Context context, AttributeSet attributeS...
method load_extended_attributes (line 143) | protected void load_extended_attributes(TypedArray attr) {
method onMeasure (line 147) | @Override
method getCircleSize (line 153) | protected float getCircleSize(int mSize) {
method getDrawableBySize (line 166) | @DrawableRes
method generateFinalDrawables (line 179) | protected LayerDrawable generateFinalDrawables(RectF circleRect) {
method getIconDrawable (line 198) | protected Drawable getIconDrawable() {
method createFillDrawable (line 211) | protected StateListDrawable createFillDrawable(RectF circleRect, float...
method createFillDrawable (line 222) | protected StateListDrawable createFillDrawable(RectF circleRect) {
method createCircleDrawable (line 229) | protected Drawable createCircleDrawable(RectF circleRect, int color) {
method createAlphaDrawble (line 239) | protected Drawable createAlphaDrawble(RectF circleRect, int color, flo...
method opacityToAlpha (line 250) | protected int opacityToAlpha(float opacity) {
method createStrokesDrawable (line 254) | protected Drawable createStrokesDrawable(RectF circleRect) {
method setBackgroundCompat (line 306) | @SuppressWarnings("deprecation")
method hide (line 316) | public void hide(boolean hide) {
method onLayout (line 331) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/floatingactionbutton/FloatingActionsMenu.java
class FloatingActionsMenu (line 31) | public class FloatingActionsMenu extends ViewGroup {
method FloatingActionsMenu (line 50) | public FloatingActionsMenu(Context context) {
method FloatingActionsMenu (line 54) | public FloatingActionsMenu(Context context, AttributeSet attrs) {
method FloatingActionsMenu (line 59) | public FloatingActionsMenu(Context context, AttributeSet attrs, int de...
method init (line 64) | private void init(Context context, AttributeSet attributeSet) {
class RotatingDrawable (line 96) | private static class RotatingDrawable extends LayerDrawable {
method RotatingDrawable (line 97) | public RotatingDrawable(Drawable drawable) {
method getRotation (line 103) | @SuppressWarnings("UnusedDeclaration")
method setRotation (line 108) | @SuppressWarnings("UnusedDeclaration")
method draw (line 114) | @Override
method createAddButton (line 123) | private void createAddButton(Context context) {
method getColor (line 165) | private int getColor(@ColorRes int id) {
method onMeasure (line 169) | @Override
method onLayout (line 205) | @Override
method generateDefaultLayoutParams (line 264) | @Override
method generateLayoutParams (line 269) | @Override
method generateLayoutParams (line 274) | @Override
method checkLayoutParams (line 279) | @Override
class LayoutParams (line 288) | private class LayoutParams extends ViewGroup.LayoutParams {
method LayoutParams (line 297) | public LayoutParams(ViewGroup.LayoutParams source) {
method setAnimationsTarget (line 328) | public void setAnimationsTarget(View view) {
method onFinishInflate (line 338) | @Override
method collapse (line 344) | public void collapse() {
method toggle (line 352) | public void toggle() {
method expand (line 360) | public void expand() {
method onSaveInstanceState (line 368) | @Override
method onRestoreInstanceState (line 377) | @Override
class SavedState (line 393) | public static class SavedState extends BaseSavedState {
method SavedState (line 396) | public SavedState(Parcelable parcel) {
method SavedState (line 400) | private SavedState(Parcel in) {
method writeToParcel (line 405) | @Override
method createFromParcel (line 413) | @Override
method newArray (line 418) | @Override
method hide (line 436) | public void hide(boolean hide) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/floatingactionbutton/JellyBeanFloatingActionButton.java
class JellyBeanFloatingActionButton (line 18) | public class JellyBeanFloatingActionButton extends FloatingActionButton {
method JellyBeanFloatingActionButton (line 21) | public JellyBeanFloatingActionButton(Context context) {
method JellyBeanFloatingActionButton (line 25) | public JellyBeanFloatingActionButton(Context context, AttributeSet att...
method JellyBeanFloatingActionButton (line 29) | public JellyBeanFloatingActionButton(Context context, AttributeSet att...
method load_extended_attributes (line 33) | @Override
method createFillDrawable (line 47) | protected StateListDrawable createFillDrawable(RectF circleRect) {
method generateFinalDrawables (line 54) | protected LayerDrawable generateFinalDrawables(RectF circleRect) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/header/HeaderItemDecoration.java
class HeaderItemDecoration (line 13) | public class HeaderItemDecoration extends RecyclerView.ItemDecoration {
method HeaderItemDecoration (line 18) | public HeaderItemDecoration(RecyclerView.LayoutManager layoutManager, ...
method getItemOffsets (line 30) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/header/HeaderShadowDecoration.java
class HeaderShadowDecoration (line 15) | public class HeaderShadowDecoration extends RecyclerView.ItemDecoration {
method HeaderShadowDecoration (line 24) | public HeaderShadowDecoration(View view, boolean scrollsHorizontally, ...
method onDraw (line 47) | @Override
method getItemOffsets (line 84) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/header/RecyclerViewHeader.java
class RecyclerViewHeader (line 27) | public class RecyclerViewHeader extends RelativeLayout {
method fromXml (line 44) | public static RecyclerViewHeader fromXml(Context context, @LayoutRes i...
method fromXml (line 50) | public static RecyclerViewHeader fromXml(Context context, @LayoutRes i...
method RecyclerViewHeader (line 57) | public RecyclerViewHeader(Context context) {
method RecyclerViewHeader (line 61) | public RecyclerViewHeader(Context context, AttributeSet attrs) {
method RecyclerViewHeader (line 65) | public RecyclerViewHeader(Context context, AttributeSet attrs, int def...
method setDecor (line 69) | private void setDecor(RecyclerView.ItemDecoration decor) {
method attachTo (line 81) | public void attachTo(RecyclerView recycler) {
method attachTo (line 95) | public void attachTo(RecyclerView recycler, boolean headerAlreadyAlign...
method isLayoutManagerReversed (line 106) | private boolean isLayoutManagerReversed(RecyclerView recycler) {
method setupAlignment (line 117) | private void setupAlignment(RecyclerView recycler) {
method setupHeader (line 151) | @SuppressLint("NewApi")
method validateRecycler (line 188) | private void validateRecycler(RecyclerView recycler, boolean headerAlr...
method onInterceptTouchEvent (line 220) | @Override
method onTouchEvent (line 229) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/swipe/SwipeableRecyclerViewTouchListener.java
class SwipeableRecyclerViewTouchListener (line 61) | public class SwipeableRecyclerViewTouchListener implements RecyclerView....
method SwipeableRecyclerViewTouchListener (line 94) | public SwipeableRecyclerViewTouchListener(RecyclerView recyclerView, S...
method setEnabled (line 127) | public void setEnabled(boolean enabled) {
method onInterceptTouchEvent (line 131) | @Override
method onTouchEvent (line 136) | @Override
method onRequestDisallowInterceptTouchEvent (line 141) | @Override
method handleTouchEvent (line 146) | @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
method performDismiss (line 295) | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
type SwipeListener (line 371) | public interface SwipeListener {
method canSwipe (line 378) | boolean canSwipe(int position);
method onDismissedBySwipeLeft (line 387) | void onDismissedBySwipeLeft(RecyclerView recyclerView, int[] reverse...
method onDismissedBySwipeRight (line 396) | void onDismissedBySwipeRight(RecyclerView recyclerView, int[] revers...
class PendingDismissData (line 399) | class PendingDismissData implements Comparable<PendingDismissData> {
method PendingDismissData (line 403) | public PendingDismissData(int position, View view) {
method compareTo (line 408) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/swipe/defaultRegularSwipe.java
class defaultRegularSwipe (line 10) | public class defaultRegularSwipe<T extends easyRegularAdapter> implement...
method defaultRegularSwipe (line 14) | public defaultRegularSwipe(T adapter) {
method canSwipe (line 18) | @Override
method onDismissedBySwipeLeft (line 25) | @Override
method onDismissedBySwipeRight (line 33) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/timelineview/LineType.java
class LineType (line 6) | public class LineType {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ui/timelineview/TimelineView.java
class TimelineView (line 32) | public class TimelineView extends View {
method TimelineView (line 44) | public TimelineView(Context context, AttributeSet attrs) {
method init (line 50) | private void init(AttributeSet attrs) {
method onMeasure (line 64) | @Override
method onSizeChanged (line 82) | @Override
method initDrawable (line 90) | private void initDrawable() {
method onDraw (line 121) | @Override
method setMarker (line 135) | public void setMarker(Drawable marker) {
method setStartLine (line 140) | public void setStartLine(Drawable startline) {
method setEndLine (line 145) | public void setEndLine(Drawable endLine) {
method setMarkerSize (line 150) | public void setMarkerSize(int markerSize) {
method setLineSize (line 155) | public void setLineSize(int lineSize) {
method initLine (line 160) | public void initLine(int viewType) {
method getTimeLineViewType (line 180) | public static int getTimeLineViewType(int position, int total_size) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/uiUtils/CacheFragmentStatePagerAdapter.java
class CacheFragmentStatePagerAdapter (line 34) | public abstract class CacheFragmentStatePagerAdapter extends FragmentSta...
method CacheFragmentStatePagerAdapter (line 44) | public CacheFragmentStatePagerAdapter(FragmentManager fm) {
method saveState (line 50) | @Override
method restoreState (line 68) | @Override
method getItem (line 96) | @Override
method destroyItem (line 104) | @Override
method getItemAt (line 118) | public Fragment getItemAt(int position) {
method createItem (line 129) | protected abstract Fragment createItem(int position);
method createCacheIndex (line 137) | protected String createCacheIndex(int index) {
method createCacheKey (line 147) | protected String createCacheKey(int position) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/uiUtils/RecyclerViewPositionHelper.java
class RecyclerViewPositionHelper (line 15) | public class RecyclerViewPositionHelper {
method RecyclerViewPositionHelper (line 20) | RecyclerViewPositionHelper(RecyclerView recyclerView) {
method createHelper (line 26) | public static RecyclerViewPositionHelper createHelper(RecyclerView rec...
method getItemCount (line 38) | public int getItemCount() {
method findFirstVisibleItemPosition (line 49) | public int findFirstVisibleItemPosition() {
method findFirstCompletelyVisibleItemPosition (line 61) | public int findFirstCompletelyVisibleItemPosition() {
method findLastVisibleItemPosition (line 73) | public int findLastVisibleItemPosition() {
method findLastCompletelyVisibleItemPosition (line 85) | public int findLastCompletelyVisibleItemPosition() {
method findOneVisibleChild (line 90) | private View findOneVisibleChild(int fromIndex, int toIndex, boolean c...
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/uiUtils/SavedStateScrolling.java
class SavedStateScrolling (line 20) | public class SavedStateScrolling implements Parcelable {
method SavedStateScrolling (line 37) | public SavedStateScrolling() {
method SavedStateScrolling (line 46) | public SavedStateScrolling(Parcelable superState) {
method SavedStateScrolling (line 55) | public SavedStateScrolling(Parcel in) {
method describeContents (line 77) | @Override
method writeToParcel (line 82) | @Override
method getSuperState (line 101) | public Parcelable getSuperState() {
method createFromParcel (line 107) | @Override
method newArray (line 112) | @Override
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/uiUtils/ScrollUtils.java
class ScrollUtils (line 11) | public final class ScrollUtils {
method ScrollUtils (line 13) | private ScrollUtils() {
method getFloat (line 26) | public static float getFloat(final float value, final float minValue, ...
method getColorWithAlpha (line 38) | public static int getColorWithAlpha(float alpha, int baseColor) {
method addOnGlobalLayoutListener (line 52) | public static void addOnGlobalLayoutListener(final View view, final Ru...
method mixColors (line 77) | public static int mixColors(int fromColor, int toColor, float toAlpha) {
method cmykFromRgb (line 93) | public static float[] cmykFromRgb(int rgbColor) {
method rgbFromCmyk (line 118) | public static int rgbFromCmyk(float[] cmyk) {
FILE: UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/uiUtils/TouchInterceptionLayout.java
class TouchInterceptionLayout (line 21) | public class TouchInterceptionLayout extends FrameLayout {
type TouchInterceptionListener (line 26) | public interface TouchInterceptionListener {
method shouldInterceptTouchEvent (line 36) | boolean shouldInterceptTouchEvent(MotionEvent ev, boolean moving, fl...
method onDownMotionEvent (line 43) | void onDownMotionEvent(MotionEvent ev);
method onMoveMotionEvent (line 52) | void onMoveMotionEvent(MotionEvent ev, float diffX, float diffY);
method onUpOrCancelMotionEvent (line 59) | void onUpOrCancelMotionEvent(MotionEvent ev);
method TouchInterceptionLayout (line 70) | public TouchInterceptionLayout(Context context) {
method TouchInterceptionLayout (line 74) | public TouchInterceptionLayout(Context context, AttributeSet attrs) {
method TouchInterceptionLayout (line 78) | public TouchInterceptionLayout(Context context, AttributeSet attrs, in...
method TouchInterceptionLayout (line 82) | @TargetApi(Build.VERSION_CODES.LOLLIPOP)
method setScrollInterceptionListener (line 87) | public void setScrollInterceptionListener(TouchInterceptionListener li...
method onInterceptTouchEvent (line 91) | @Override
method onTouchEvent (line 125) | @Override
method obtainMotionEvent (line 223) | private MotionEvent obtainMotionEvent(MotionEvent base, int action) {
method duplicateTouchEventForChildren (line 238) | private void duplicateTouchEventForChildren(MotionEvent ev, MotionEven...
Condensed preview — 269 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,072K chars).
[
{
"path": ".gitignore",
"chars": 733,
"preview": "# Android generated\nbin/\ngen/\n.DS_Store\n# Ant\nbuild.xml\nlocal.properties\n\n# Maven\ntarget/\npom.xml.*\nrelease.properties\n\n"
},
{
"path": ".travis.yml",
"chars": 1022,
"preview": "language: android\njdk:\n - oraclejdk8\n\n# Turning off caching to avoid caching Issues\n# cache: false\n# Using the new Cont"
},
{
"path": "LICENSE",
"chars": 11325,
"preview": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licens"
},
{
"path": "README.md",
"chars": 8671,
"preview": "# UltimateRecyclerView\n\n [  2013 47 Degrees, LLC\n * http://47deg.com\n * hello@47deg.com\n *\n * Licensed under the Apache Licen"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/AbstractDataProvider.java",
"chars": 1391,
"preview": "/*\n * Copyright (C) 2015 Haruki Hasegawa\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * "
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/CircularImageView.java",
"chars": 14832,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.modules;\n\nimport android.annotation.TargetApi;\nimport android.content."
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/FastBinding.java",
"chars": 2372,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.modules;\n\nimport android.content.Context;\nimport android.content.Inten"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/JRitem.java",
"chars": 380,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.modules;\n\nimport androidx.annotation.DrawableRes;\n\n/**\n * Created by h"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/MainWatcher.java",
"chars": 342,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.modules;\n\nimport android.app.Application;\nimport android.content.pm.Ap"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/SampleDataboxset.java",
"chars": 4078,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.modules;\n\nimport com.marshalchen.ultimaterecyclerview.demo.R;\nimport c"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/TimeLineModel.java",
"chars": 425,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.modules;\n\n/**\n * Created by zJJ on 4/27/2016.\n */\npublic class TimeLin"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/modules/ViewPagerAdapter.java",
"chars": 838,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.modules;\n\nimport androidx.viewpager.widget.PagerAdapter;\nimport androi"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/MultiViewTypesActivity.java",
"chars": 3660,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.multiitemdemo;\n\nimport android.graphics.Color;\nimport android.graphics"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/MultiViewTypesRecyclerViewAdapter.java",
"chars": 5246,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.multiitemdemo;\n\nimport androidx.recyclerview.widget.RecyclerView;\nimpo"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/Sample1Binder.java",
"chars": 1765,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.multiitemdemo;\n\nimport android.view.LayoutInflater;\nimport android.vie"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/multiitemdemo/Sample2Binder.java",
"chars": 1896,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.multiitemdemo;\n\nimport android.view.LayoutInflater;\nimport android.vie"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/SimpleAnimationAdapter.java",
"chars": 6251,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.animation.Animator;\nimport android.graph"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/SwipeAdapter.java",
"chars": 3506,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.view.View;\nimport android.widget.Button;"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/TimeLineAdapter.java",
"chars": 1027,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.view.View;\n\nimport com.marshalchen.ultim"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/itemCommonBinder.java",
"chars": 2154,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.graphics.Color;\nimport android.view.View"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/itemGridCellBinder.java",
"chars": 1158,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.graphics.Color;\nimport android.view.View"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/itemNode.java",
"chars": 1062,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.view.View;\nimport android.widget.TextVie"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/itemStaggerCommonBinder.java",
"chars": 1368,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.view.View;\nimport android.widget.ImageVi"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/sectionCommonAdapter.java",
"chars": 5318,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.graphics.Color;\nimport androidx.recycler"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/sectionZeroAdapter.java",
"chars": 4666,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.graphics.Color;\nimport android.view.View"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/rvComponents/staggerAdapter.java",
"chars": 2478,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.rvComponents;\n\nimport android.graphics.Color;\nimport android.view.View"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/BaseActivity.java",
"chars": 4705,
"preview": "/*\n * Copyright 2014 Soichiro Kashima\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may n"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/BaseFragment.java",
"chars": 3138,
"preview": "/*\n * Copyright 2014 Soichiro Kashima\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may n"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/ScrollObservablesActivity.java",
"chars": 1131,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.scrollableobservable;\n\nimport android.os.Bundle;\nimport androidx.fragm"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/ViewPagerFragmentListSingle.java",
"chars": 1901,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.scrollableobservable;\n\nimport android.os.Bundle;\n\nimport androidx.appc"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/ViewPagerTabFragmentParentFragment.java",
"chars": 16899,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.scrollableobservable;\n\nimport android.animation.ValueAnimator;\nimport "
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/widget/SlidingTabLayout.java",
"chars": 12086,
"preview": "/*\n * Copyright 2014 Google Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/scrollableobservable/widget/SlidingTabStrip.java",
"chars": 6454,
"preview": "/*\n * Copyright 2014 Google Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License"
},
{
"path": "UltimateRecyclerView/app/src/main/java/com/marshalchen/ultimaterecyclerview/demo/swiplistdemo/PackageAdapter.java",
"chars": 5836,
"preview": "package com.marshalchen.ultimaterecyclerview.demo.swiplistdemo;\n\n\nimport android.content.Context;\nimport android.content"
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable/ic_add_24dp.xml",
"chars": 325,
"preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:width=\"24dp\"\n android:height=\""
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable/ic_autorenew_24dp.xml",
"chars": 556,
"preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:width=\"24dp\"\n android:height=\""
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable/ic_blur_linear_24dp.xml",
"chars": 1235,
"preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:width=\"24dp\"\n android:height=\""
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable/ic_bug_report_24dp.xml",
"chars": 673,
"preview": "<vector android:height=\"60dp\" android:viewportHeight=\"24.0\"\n android:viewportWidth=\"24.0\" android:width=\"60dp\" xmlns:"
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable/ic_exposure_plus_1_24dp.xml",
"chars": 363,
"preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:width=\"24dp\"\n android:height=\""
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable/ic_extension_24dp.xml",
"chars": 561,
"preview": "<vector android:height=\"100dp\" android:viewportHeight=\"24.0\"\n android:viewportWidth=\"24.0\" android:width=\"100dp\" xmln"
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable/ic_remove_24dp.xml",
"chars": 307,
"preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:width=\"24dp\"\n android:height=\""
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable/toptint.xml",
"chars": 507,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <gradient\n"
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable-mdpi/custom_drag_frame.xml",
"chars": 276,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:sha"
},
{
"path": "UltimateRecyclerView/app/src/main/res/drawable-xxhdpi/item_selector.xml",
"chars": 343,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n <item "
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/activity_drag.xml",
"chars": 2250,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<FrameLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/activity_launcher.xml",
"chars": 2229,
"preview": "<FrameLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:app=\"http://schemas.android.com/apk/re"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/activity_loadmore.xml",
"chars": 1289,
"preview": "<FrameLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:app=\"http://schemas.android.com/apk/re"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/activity_main.xml",
"chars": 939,
"preview": "<FrameLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:app=\"http://schemas.android.com/apk/re"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/countable_rv_adp.xml",
"chars": 1670,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/custom_bottom_progressbar.xml",
"chars": 692,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/custom_refresh_activity.xml",
"chars": 2699,
"preview": "<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:tools=\"http://schemas.android.com/t"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/empty_view.xml",
"chars": 433,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/empty_view_v2.xml",
"chars": 735,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/exp_child.xml",
"chars": 1302,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xm"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/exp_parent.xml",
"chars": 2840,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xm"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/floating_view.xml",
"chars": 1439,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n\n<com.marshalchen.ultimaterecyclerview.ui.floatingactionbutton.FloatingActionsMe"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/floatingbutton_grid_layout.xml",
"chars": 3914,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xm"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/grid_item.xml",
"chars": 732,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/header_love.xml",
"chars": 400,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/item_node.xml",
"chars": 1257,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmln"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/item_swipeable.xml",
"chars": 2305,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n and"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/list_item.xml",
"chars": 1776,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.viewpager.widget.ViewPager xmlns:android=\"http://schemas.android.com/ap"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/list_item_header.xml",
"chars": 717,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmln"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/listurv.xml",
"chars": 501,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.marshalchen.ultimaterecyclerview.UltimateRecyclerView xmlns:android=\"http://"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/package_row.xml",
"chars": 2210,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<!--\n ~ Copyright (C) 2013 47 Degrees, LLC\n ~ http://47deg.com\n ~ hello@47d"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/parallax_recyclerview_header.xml",
"chars": 837,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/recycler_view_adapter.xml",
"chars": 1111,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/rv_item_linear.xml",
"chars": 1173,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/rv_item_stagger.xml",
"chars": 1266,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/rv_sample_1.xml",
"chars": 1193,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n "
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/rv_sample_2.xml",
"chars": 595,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n "
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/simple_scroll_activity.xml",
"chars": 829,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<FrameLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/simplefragment_viewpager_tabhost.xml",
"chars": 1171,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.marshalchen.ultimaterecyclerview.uiUtils.TouchInterceptionLayout xmlns:andro"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/simplefragment_viewpaper_fragment_parent.xml",
"chars": 3007,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n Copyright 2014 Soichiro Kashima\n\n Licensed under the Apache License, Versi"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/stick_header_item.xml",
"chars": 880,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/swipe_list_view_activity.xml",
"chars": 476,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n andr"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/tab_indicator.xml",
"chars": 433,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<TextView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android"
},
{
"path": "UltimateRecyclerView/app/src/main/res/layout/toolbar_loadmore.xml",
"chars": 1263,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n an"
},
{
"path": "UltimateRecyclerView/app/src/main/res/menu/admenu.xml",
"chars": 113,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n</menu>"
},
{
"path": "UltimateRecyclerView/app/src/main/res/menu/menu_main.xml",
"chars": 1631,
"preview": "<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:app=\"http://schemas.android.com/apk/res-auto\""
},
{
"path": "UltimateRecyclerView/app/src/main/res/values/CirclarImageViewCustomStyle.xml",
"chars": 2000,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <declare-styleable name=\"CircularImageViewStyle\">\n <attr n"
},
{
"path": "UltimateRecyclerView/app/src/main/res/values/arrays.xml",
"chars": 1542,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n <string-array name=\"akta\">\n <item>22,0,0,30,</item>\n "
},
{
"path": "UltimateRecyclerView/app/src/main/res/values/colors.xml",
"chars": 1204,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <color name=\"bg_swipe_item_neutral\">#ffffffff</color>\n <color "
},
{
"path": "UltimateRecyclerView/app/src/main/res/values/dimens.xml",
"chars": 1236,
"preview": "<resources>\n <!-- Default screen margins, per the Android Design guidelines. -->\n <dimen name=\"activity_horizontal"
},
{
"path": "UltimateRecyclerView/app/src/main/res/values/ids.xml",
"chars": 444,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <item name=\"str_textview_holder\" type=\"id\" />\n <item name=\"str"
},
{
"path": "UltimateRecyclerView/app/src/main/res/values/scollables.xml",
"chars": 306,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n\n <style name=\"Toolbar\" parent=\"Theme.AppCompat\">\n <item n"
},
{
"path": "UltimateRecyclerView/app/src/main/res/values/strings.xml",
"chars": 315,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n <string name=\"app_name\">UltimateRecyclerView</string>\n <strin"
},
{
"path": "UltimateRecyclerView/app/src/main/res/values/styles.xml",
"chars": 645,
"preview": "<resources>\n\n <!-- Base application theme. -->\n <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.NoActionBar\">"
},
{
"path": "UltimateRecyclerView/app/src/main/res/values-w820dp/dimens.xml",
"chars": 358,
"preview": "<resources>\n <!-- Example customization of dimensions originally defined in res/values/dimens.xml\n (such as s"
},
{
"path": "UltimateRecyclerView/build.gradle",
"chars": 854,
"preview": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n r"
},
{
"path": "UltimateRecyclerView/gradle/wrapper/gradle-wrapper.properties",
"chars": 232,
"preview": "#Wed Jun 26 23:30:04 PDT 2019\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_"
},
{
"path": "UltimateRecyclerView/gradle.properties",
"chars": 1994,
"preview": "ANDROID_BUILD_MIN_SDK_VERSION=21\nANDROID_BUILD_TARGET_SDK_VERSION=34\nANDROID_BUILD_SDK_VERSION=34\n## Project-wide Gradle"
},
{
"path": "UltimateRecyclerView/gradlew",
"chars": 5080,
"preview": "#!/usr/bin/env bash\n\n##############################################################################\n##\n## Gradle start "
},
{
"path": "UltimateRecyclerView/gradlew.bat",
"chars": 2404,
"preview": "@if \"%DEBUG%\" == \"\" @echo off\r\n@rem ##########################################################################\r\n@rem\r\n@r"
},
{
"path": "UltimateRecyclerView/settings.gradle",
"chars": 40,
"preview": "include ':app', ':ultimaterecyclerview'\n"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/android-release-aar.gradle",
"chars": 1430,
"preview": "// ./gradlew clean build generateRelease\napply plugin: 'maven'\n\n\ndef groupId = project.PUBLISH_GROUP_ID\ndef artifactId ="
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/bintray-release-aar.gradle",
"chars": 1770,
"preview": "apply plugin: 'bintray-release'\n\nsubprojects {\n group = GROUP_NAME\n version = VERSION_NAME\n\n if (IS_UPLOADING &"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/bintray_3_4.gradle",
"chars": 691,
"preview": "//apply plugin: 'bintray-release'\napply plugin: 'com.novoda.bintray-release'\n\npublish {\n userOrg = 'jjhesk'\n group"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/build.gradle",
"chars": 1346,
"preview": "apply plugin: 'com.android.library'\n\nandroid {\n compileSdkVersion project.ANDROID_BUILD_SDK_VERSION as int\n\n defau"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/gradle.properties",
"chars": 909,
"preview": "POM_NAME=ultimaterecyclerview\nPOM_ARTIFACT_ID=library\nPOM_PACKAGING=aar\nVERSION_NAME=0.9.1\nVERSION_CODE=79\nGROUP=com.mar"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/maven-push.gradle",
"chars": 3636,
"preview": "/*\n * Copyright 2013 Chris Banes\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not us"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/proguard-rules.pro",
"chars": 652,
"preview": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /V"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/androidTest/java/com/marshalchen/ultimaterecyclerview/ApplicationTest.java",
"chars": 367,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.app.Application;\nimport android.test.ApplicationTestCase;\n"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/AndroidManifest.xml",
"chars": 133,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.marshalchen.ultimaterecyclerview\">"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/CustomUltimateRecyclerview.java",
"chars": 2828,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.content.Context;\nimport androidx.recyclerview.widget.Recyc"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/DragDropTouchListener.java",
"chars": 11635,
"preview": "/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in complianc"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ItemTouchListenerAdapter.java",
"chars": 4423,
"preview": "/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in complianc"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/NormalUltimateViewAdapter.java",
"chars": 8624,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.animation.Animator;\nimport android.animation.ObjectAnimato"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ObservableScrollState.java",
"chars": 1050,
"preview": "/*\n * Copyright 2014 Soichiro Kashima\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may n"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/ObservableScrollViewCallbacks.java",
"chars": 1702,
"preview": "/*\n * Copyright 2014 Soichiro Kashima\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may n"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/RecyclerItemClickListener.java",
"chars": 2035,
"preview": "/*\n * Copyright(c) 2015 Marshal Chen\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may no"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/Scrollable.java",
"chars": 1188,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.view.ViewGroup;\n\nimport com.marshalchen.ultimaterecyclervi"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/SwipeDismissTouchListener.java",
"chars": 10030,
"preview": "/*\n * Copyright 2013 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not us"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/SwipeableUltimateRecyclerview.java",
"chars": 2891,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport "
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/SwipeableUltimateViewAdapter.java",
"chars": 3621,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport androidx.recyclerview.widget.RecyclerView;\nimport android.view.Vie"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/URLogs.java",
"chars": 7100,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.util.Log;\n\n/**\n * Only for debug\n */\npublic final class UR"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateDifferentViewTypeAdapter.java",
"chars": 5008,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\n\nimport android.view.ViewGroup;\n\nimport com.marshalchen.ultimaterecyclerv"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateGridLayoutAdapter.java",
"chars": 2781,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.annotation.TargetApi;\nimport android.os.Build;\nimport andr"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateRecyclerView.java",
"chars": 55646,
"preview": "/*\n * Copyright(c) 2015 Marshal Chen\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may no"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateRecyclerviewViewHolder.java",
"chars": 6758,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.content.Context;\nimport android.content.res.Resources;\nimp"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/UltimateViewAdapter.java",
"chars": 22246,
"preview": "package com.marshalchen.ultimaterecyclerview;\n\nimport android.animation.Animator;\nimport android.animation.ObjectAnimato"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/PageControlConst.java",
"chars": 483,
"preview": "package com.marshalchen.ultimaterecyclerview.appPaginator;\n\n/**\n * Created by zJJ on 2/21/2016.\n */\npublic class PageCon"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/catelogGrid.java",
"chars": 3684,
"preview": "package com.marshalchen.ultimaterecyclerview.appPaginator;\n\nimport android.app.Activity;\nimport android.content.Context;"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/catelogLinear.java",
"chars": 4014,
"preview": "package com.marshalchen.ultimaterecyclerview.appPaginator;\n\nimport android.app.Activity;\nimport android.content.Context;"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/paginator.java",
"chars": 4667,
"preview": "package com.marshalchen.ultimaterecyclerview.appPaginator;\n\nimport android.app.Fragment;\nimport android.os.Build;\nimport"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/v4/catelogGrid.java",
"chars": 3648,
"preview": "package com.marshalchen.ultimaterecyclerview.appPaginator.v4;\n\nimport android.app.Activity;\nimport android.content.Conte"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/v4/catelogLinear.java",
"chars": 4017,
"preview": "package com.marshalchen.ultimaterecyclerview.appPaginator.v4;\n\nimport android.app.Activity;\nimport android.content.Conte"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/appPaginator/v4/paginator.java",
"chars": 4680,
"preview": "package com.marshalchen.ultimaterecyclerview.appPaginator.v4;\n\n\nimport android.os.Build;\nimport androidx.annotation.IdRe"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/DragInfo.java",
"chars": 1124,
"preview": "package com.marshalchen.ultimaterecyclerview.dragsortadapter;\n\nimport android.graphics.Point;\nimport android.graphics.Po"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/DragManager.java",
"chars": 5515,
"preview": "package com.marshalchen.ultimaterecyclerview.dragsortadapter;\n\nimport android.graphics.PointF;\nimport androidx.annotatio"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/DragSortAdapter.java",
"chars": 7130,
"preview": "/*\n * Copyright (C) 2015 Vincent Mi\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/DragSortShadowBuilder.java",
"chars": 1714,
"preview": "/*\n * Copyright (C) 2015 Vincent Mi\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/dragsortadapter/NoForegroundShadowBuilder.java",
"chars": 1255,
"preview": "package com.marshalchen.ultimaterecyclerview.dragsortadapter;\n\nimport android.graphics.Canvas;\nimport android.graphics.P"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/ExpandableItemData.java",
"chars": 2124,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx;\r\n\r\nimport java.util.List;\r\n\r\n/**\r\n * Author Zheng Haibo\r\n * Persona"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/LinearExpanxURVAdapter.java",
"chars": 10493,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx;\n\nimport android.content.Context;\nimport androidx.annotation.LayoutR"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/SmartItem.java",
"chars": 1855,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx;\n\nimport android.content.Context;\nimport androidx.annotation.StringR"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/BaseViewHolder.java",
"chars": 3391,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\r\n\r\nimport android.content.Context;\r\nimport androidx.annotation"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/ChildClickListener.java",
"chars": 213,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\n\n/**\n * Created by hesk on 14/7/15.\n */\npublic interface Child"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/ChildVH.java",
"chars": 361,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\n\nimport com.marshalchen.ultimaterecyclerview.expanx.Expandable"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/DataUtil.java",
"chars": 3664,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\n\nimport android.annotation.SuppressLint;\nimport android.conten"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/ItemDataClickListener.java",
"chars": 388,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\r\n\r\n\r\nimport com.marshalchen.ultimaterecyclerview.expanx.Expand"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/OnScrollToListener.java",
"chars": 233,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\r\n\r\n/**\r\n * Author Zheng Haibo\r\n * PersonalWebsite http://www.m"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/ParentVH.java",
"chars": 498,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\n\nimport com.marshalchen.ultimaterecyclerview.expanx.Expandable"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/child.java",
"chars": 526,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\n\nimport android.view.View;\n\nimport com.marshalchen.ultimaterec"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/easyTemplateChild.java",
"chars": 2322,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\n\nimport android.view.View;\nimport android.widget.RelativeLayou"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/easyTemplateParent.java",
"chars": 3706,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\n\nimport android.animation.ValueAnimator;\nimport android.annota"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/Util/parent.java",
"chars": 3375,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx.Util;\n\nimport android.animation.ValueAnimator;\nimport android.annota"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/expanx/customizedAdapter.java",
"chars": 507,
"preview": "package com.marshalchen.ultimaterecyclerview.expanx;\n\nimport android.content.Context;\n\nimport com.marshalchen.ultimatere"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/grid/BasicGridLayoutManager.java",
"chars": 1910,
"preview": "package com.marshalchen.ultimaterecyclerview.grid;\n\nimport android.content.Context;\nimport androidx.recyclerview.widget."
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/grid/GridPaddingDecorator.java",
"chars": 1371,
"preview": "package com.marshalchen.ultimaterecyclerview.grid;\n\nimport android.graphics.Rect;\nimport androidx.recyclerview.widget.Re"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/grid/GridSpacingItemDecoration.java",
"chars": 1609,
"preview": "package com.marshalchen.ultimaterecyclerview.grid;\n\nimport android.graphics.Rect;\nimport androidx.recyclerview.widget.Re"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/grid/customSectionGridAdapter.java",
"chars": 133,
"preview": "package com.marshalchen.ultimaterecyclerview.grid;\n\n/**\n * Created by hesk on 29/2/16.\n */\npublic class customSectionGri"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/gridSection/HeaderViewHolder.java",
"chars": 590,
"preview": "package com.marshalchen.ultimaterecyclerview.gridSection;\n\nimport androidx.annotation.IdRes;\nimport androidx.recyclervie"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/gridSection/SectionedRecyclerViewAdapter.java",
"chars": 8012,
"preview": "package com.marshalchen.ultimaterecyclerview.gridSection;\n\nimport androidx.recyclerview.widget.RecyclerView;\nimport andr"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/gridSection/SectionedSpanSizeLookup.java",
"chars": 819,
"preview": "package com.marshalchen.ultimaterecyclerview.gridSection;\n\nimport androidx.recyclerview.widget.GridLayoutManager;\n\n/**\n "
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/gridSection/SimpleSectionedAdapter.java",
"chars": 2557,
"preview": "package com.marshalchen.ultimaterecyclerview.gridSection;\n\n\nimport androidx.annotation.IdRes;\nimport androidx.annotation"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/itemTouchHelper/ItemTouchHelperAdapter.java",
"chars": 2113,
"preview": "/*\n * Copyright (C) 2015 Paul Burke\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/itemTouchHelper/ItemTouchHelperViewHolder.java",
"chars": 1311,
"preview": "/*\n * Copyright (C) 2015 Paul Burke\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/itemTouchHelper/SimpleItemTouchHelperCallback.java",
"chars": 4323,
"preview": "/*\n * Copyright (C) 2015 Paul Burke\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/layoutmanagers/ClassicSpanGridLayoutManager.java",
"chars": 3479,
"preview": "package com.marshalchen.ultimaterecyclerview.layoutmanagers;\n\nimport android.content.Context;\nimport androidx.recyclervi"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/layoutmanagers/CustomLinearLayoutManager.java",
"chars": 3182,
"preview": "package com.marshalchen.ultimaterecyclerview.layoutmanagers;\n\nimport android.content.Context;\nimport androidx.recyclervi"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/layoutmanagers/ScrollSmoothLineaerLayoutManager.java",
"chars": 3058,
"preview": "package com.marshalchen.ultimaterecyclerview.layoutmanagers;\n\nimport android.content.Context;\nimport android.graphics.Po"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/multiViewTypes/DataBinder.java",
"chars": 2101,
"preview": "package com.marshalchen.ultimaterecyclerview.multiViewTypes;\n\nimport android.view.ViewGroup;\n\nimport com.marshalchen.ult"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/AdItemHolder.java",
"chars": 835,
"preview": "package com.marshalchen.ultimaterecyclerview.quickAdapter;\n\nimport android.view.View;\n\nimport com.marshalchen.ultimatere"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/AdmobAdapter.java",
"chars": 7933,
"preview": "package com.marshalchen.ultimaterecyclerview.quickAdapter;\n\nimport androidx.annotation.Nullable;\nimport androidx.recycle"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/BiAdAdapterSwitcher.java",
"chars": 8250,
"preview": "package com.marshalchen.ultimaterecyclerview.quickAdapter;\n\n\nimport android.app.Activity;\nimport android.os.Handler;\nimp"
},
{
"path": "UltimateRecyclerView/ultimaterecyclerview/src/main/java/com/marshalchen/ultimaterecyclerview/quickAdapter/StaggerHolder.java",
"chars": 1605,
"preview": "package com.marshalchen.ultimaterecyclerview.quickAdapter;\n\nimport androidx.recyclerview.widget.StaggeredGridLayoutManag"
}
]
// ... and 69 more files (download for full content)
About this extraction
This page contains the full source code of the cymcsg/UltimateRecyclerView GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 269 files (979.2 KB), approximately 229.0k tokens, and a symbol index with 2124 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.