com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView Java Examples
The following examples show how to use
com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: TouchInterceptionRecyclerViewActivity.java From Android-ObservableScrollView with Apache License 2.0 | 6 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_touchinterception_recyclerview); ((TextView) findViewById(R.id.title)).setText(getClass().getSimpleName()); mScrollable = (Scrollable) findViewById(R.id.scrollable); mScrollable.setScrollViewCallbacks(this); ObservableRecyclerView recyclerView = (ObservableRecyclerView) mScrollable; recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setHasFixedSize(true); recyclerView.setScrollViewCallbacks(this); UiTestUtils.setDummyData(this, recyclerView); mIntersectionHeight = getResources().getDimensionPixelSize(R.dimen.intersection_height); mHeaderBarHeight = getResources().getDimensionPixelSize(R.dimen.header_bar_height); mInterceptionLayout = (TouchInterceptionFrameLayout) findViewById(R.id.scroll_wrapper); mInterceptionLayout.setScrollInterceptionListener(mInterceptionListener); }
Example #2
Source File: ViewPagerTab2RecyclerViewFragment.java From Android-ObservableScrollView with Apache License 2.0 | 6 votes |
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_recyclerview, container, false); Activity parentActivity = getActivity(); final ObservableRecyclerView recyclerView = (ObservableRecyclerView) view.findViewById(R.id.scroll); recyclerView.setLayoutManager(new LinearLayoutManager(parentActivity)); recyclerView.setHasFixedSize(false); setDummyData(recyclerView); recyclerView.setTouchInterceptionViewGroup((ViewGroup) parentActivity.findViewById(R.id.container)); if (parentActivity instanceof ObservableScrollViewCallbacks) { recyclerView.setScrollViewCallbacks((ObservableScrollViewCallbacks) parentActivity); } return view; }
Example #3
Source File: StickyHeaderRecyclerViewActivity.java From Android-ObservableScrollView with Apache License 2.0 | 6 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_stickyheaderrecyclerview); setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); mHeaderView = findViewById(R.id.header); ViewCompat.setElevation(mHeaderView, getResources().getDimension(R.dimen.toolbar_elevation)); mToolbarView = findViewById(R.id.toolbar); mRecyclerView = (ObservableRecyclerView) findViewById(R.id.recycler); mRecyclerView.setScrollViewCallbacks(this); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.setHasFixedSize(false); View headerView = LayoutInflater.from(this).inflate(R.layout.recycler_header, null); setDummyDataWithHeader(mRecyclerView, headerView); }
Example #4
Source File: FlexibleSpaceWithImageRecyclerViewFragment.java From Android-ObservableScrollView with Apache License 2.0 | 6 votes |
@Override public void setScrollY(int scrollY, int threshold) { View view = getView(); if (view == null) { return; } ObservableRecyclerView recyclerView = (ObservableRecyclerView) view.findViewById(R.id.scroll); if (recyclerView == null) { return; } View firstVisibleChild = recyclerView.getChildAt(0); if (firstVisibleChild != null) { int offset = scrollY; int position = 0; if (threshold < scrollY) { int baseHeight = firstVisibleChild.getHeight(); position = scrollY / baseHeight; offset = scrollY % baseHeight; } RecyclerView.LayoutManager lm = recyclerView.getLayoutManager(); if (lm != null && lm instanceof LinearLayoutManager) { ((LinearLayoutManager) lm).scrollToPositionWithOffset(position, -offset); } } }
Example #5
Source File: ViewPagerTabFragmentRecyclerViewFragment.java From Android-ObservableScrollView with Apache License 2.0 | 6 votes |
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_recyclerview, container, false); final ObservableRecyclerView recyclerView = (ObservableRecyclerView) view.findViewById(R.id.scroll); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); recyclerView.setHasFixedSize(false); setDummyData(recyclerView); Fragment parentFragment = getParentFragment(); ViewGroup viewGroup = (ViewGroup) parentFragment.getView(); if (viewGroup != null) { recyclerView.setTouchInterceptionViewGroup((ViewGroup) viewGroup.findViewById(R.id.container)); if (parentFragment instanceof ObservableScrollViewCallbacks) { recyclerView.setScrollViewCallbacks((ObservableScrollViewCallbacks) parentFragment); } } return view; }
Example #6
Source File: FlexibleSpaceWithImageRecyclerViewFragment.java From Android-ObservableScrollView with Apache License 2.0 | 6 votes |
@Override protected void updateFlexibleSpace(int scrollY, View view) { int flexibleSpaceImageHeight = getResources().getDimensionPixelSize(R.dimen.flexible_space_image_height); View recyclerViewBackground = view.findViewById(R.id.list_background); // Translate list background ViewHelper.setTranslationY(recyclerViewBackground, Math.max(0, -scrollY + flexibleSpaceImageHeight)); // Also pass this event to parent Activity FlexibleSpaceWithImageWithViewPagerTabActivity parentActivity = (FlexibleSpaceWithImageWithViewPagerTabActivity) getActivity(); if (parentActivity != null) { parentActivity.onScrollChanged(scrollY, (ObservableRecyclerView) view.findViewById(R.id.scroll)); } }
Example #7
Source File: ToolbarControlRecyclerViewActivity.java From UltimateAndroid with Apache License 2.0 | 6 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.observable_scroll_view_activity_toolbarcontrolrecyclerview); setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); mHeaderView = findViewById(R.id.header); ViewCompat.setElevation(mHeaderView, getResources().getDimension(R.dimen.toolbar_elevation)); mToolbarView = findViewById(R.id.toolbar); mRecyclerView = (ObservableRecyclerView) findViewById(R.id.recycler); mRecyclerView.setScrollViewCallbacks(this); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.setHasFixedSize(false); ArrayList<String> items = new ArrayList<String>(); for (int i = 1; i <= 100; i++) { items.add("Item " + i); } View headerView = LayoutInflater.from(this).inflate(R.layout.observable_scroll_view_recycler_header, null); mRecyclerView.setAdapter(new SimpleHeaderRecyclerAdapter(this, items, headerView)); }
Example #8
Source File: AlbumFragment.java From meizhi with Apache License 2.0 | 6 votes |
@Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_photos, container, false); layoutManager = new GridLayoutManager(activity, getSpanCount()); layoutManager.setSpanSizeLookup(new HeaderSpanSizeLookup(layoutManager)); photos = (ObservableRecyclerView) rootView.findViewById(R.id.photos); photos.setHasFixedSize(true); photos.setLayoutManager(layoutManager); photos.setAdapter(adapter); photos.setScrollViewCallbacks(this); albumId = getArguments().getString("id"); return rootView; }
Example #9
Source File: ViewPagerTab2RecyclerViewFragment.java From Android-ObservableScrollView with Apache License 2.0 | 6 votes |
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_recyclerview, container, false); Activity parentActivity = getActivity(); final ObservableRecyclerView recyclerView = (ObservableRecyclerView) view.findViewById(R.id.scroll); recyclerView.setLayoutManager(new LinearLayoutManager(parentActivity)); recyclerView.setHasFixedSize(false); UiTestUtils.setDummyData(getActivity(), recyclerView); recyclerView.setTouchInterceptionViewGroup((ViewGroup) parentActivity.findViewById(R.id.container)); if (parentActivity instanceof ObservableScrollViewCallbacks) { recyclerView.setScrollViewCallbacks((ObservableScrollViewCallbacks) parentActivity); } return view; }
Example #10
Source File: Utils.java From material-scrolling with Apache License 2.0 | 6 votes |
static ObservableRecyclerView findRecyclerView(final View view) { if (view instanceof ObservableRecyclerView) { return (ObservableRecyclerView) view; } if (!(view instanceof ViewGroup)) { return null; } ViewGroup group = (ViewGroup) view; int count = group.getChildCount(); for (int i = 0; i < count; i++) { ObservableRecyclerView child = findRecyclerView(group.getChildAt(i)); if (child != null) { return child; } } return null; }
Example #11
Source File: MaterialScrollingViewPager.java From material-scrolling with Apache License 2.0 | 6 votes |
@Override public void onPageScrollStateChanged(final int state) { findFirstActiveRecyclerView(); if (state == SCROLL_STATE_IDLE) { return; } final int activeScrollY = activeHolder.getScrollY(); for (Map.Entry<ObservableRecyclerView, RecyclerViewHolder> item : holders.entrySet()) { final RecyclerViewHolder holder = item.getValue(); if (holder == activeHolder) { continue; } final int scrollY = holder.getScrollY(); if (activeScrollY >= flexibleHeight - baseHeight && scrollY >= flexibleHeight - baseHeight) { continue; } holder.scrollTo(Math.min(activeScrollY, flexibleHeight - baseHeight)); } }
Example #12
Source File: RecyclerViewActivity.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_recyclerview); ObservableRecyclerView recyclerView = (ObservableRecyclerView) findViewById(R.id.scrollable); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setHasFixedSize(true); recyclerView.setScrollViewCallbacks(this); UiTestUtils.setDummyData(this, recyclerView); }
Example #13
Source File: RecyclerViewActivityTest.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override protected void setUp() throws Exception { super.setUp(); setActivityInitialTouchMode(true); activity = getActivity(); scrollable = (ObservableRecyclerView) activity.findViewById(R.id.scrollable); callbackCounter = new int[2]; getInstrumentation().waitForIdleSync(); }
Example #14
Source File: ViewPagerTabRecyclerViewFragment.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_recyclerview, container, false); Activity parentActivity = getActivity(); final ObservableRecyclerView recyclerView = (ObservableRecyclerView) view.findViewById(R.id.scroll); recyclerView.setLayoutManager(new LinearLayoutManager(parentActivity)); recyclerView.setHasFixedSize(false); View headerView = LayoutInflater.from(parentActivity).inflate(R.layout.padding, null); UiTestUtils.setDummyDataWithHeader(getActivity(), recyclerView, headerView); if (parentActivity instanceof ObservableScrollViewCallbacks) { // Scroll to the specified offset after layout Bundle args = getArguments(); if (args != null && args.containsKey(ARG_INITIAL_POSITION)) { final int initialPosition = args.getInt(ARG_INITIAL_POSITION, 0); ScrollUtils.addOnGlobalLayoutListener(recyclerView, new Runnable() { @Override public void run() { recyclerView.scrollVerticallyToPosition(initialPosition); } }); } recyclerView.setScrollViewCallbacks((ObservableScrollViewCallbacks) parentActivity); } return view; }
Example #15
Source File: RecyclerViewScrollFromBottomActivityTest.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override protected void setUp() throws Exception { super.setUp(); setActivityInitialTouchMode(true); activity = getActivity(); scrollable = (ObservableRecyclerView) activity.findViewById(R.id.scrollable); }
Example #16
Source File: RecyclerViewActivityTest.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
public void testInitialize() throws Throwable { runTestOnUiThread(new Runnable() { @Override public void run() { new ObservableRecyclerView(activity); new ObservableRecyclerView(activity, null, 0); } }); }
Example #17
Source File: FillGapRecyclerViewActivity.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override protected ObservableRecyclerView createScrollable() { ObservableRecyclerView recyclerView = (ObservableRecyclerView) findViewById(R.id.scroll); recyclerView.setScrollViewCallbacks(this); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setHasFixedSize(false); setDummyDataWithHeader(recyclerView, mFlexibleSpaceImageHeight); return recyclerView; }
Example #18
Source File: RecyclerViewActivityTest.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
public void testNoCallbacks() throws Throwable { runTestOnUiThread(new Runnable() { @Override public void run() { scrollable = (ObservableRecyclerView) activity.findViewById(R.id.scrollable); scrollable.setScrollViewCallbacks(null); } }); testScroll(); }
Example #19
Source File: RecyclerViewScrollFromBottomActivity.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final ObservableRecyclerView scrollable = (ObservableRecyclerView) findViewById(R.id.scrollable); ScrollUtils.addOnGlobalLayoutListener(scrollable, new Runnable() { @Override public void run() { int count = scrollable.getAdapter().getItemCount() - 1; int position = count == 0 ? 1 : count > 0 ? count : 0; scrollable.scrollToPosition(position); } }); }
Example #20
Source File: FlexibleSpaceWithImageRecyclerViewFragment.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_flexiblespacewithimagerecyclerview, container, false); final ObservableRecyclerView recyclerView = (ObservableRecyclerView) view.findViewById(R.id.scroll); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); recyclerView.setHasFixedSize(false); final View headerView = LayoutInflater.from(getActivity()).inflate(R.layout.recycler_header, null); final int flexibleSpaceImageHeight = getResources().getDimensionPixelSize(R.dimen.flexible_space_image_height); headerView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, flexibleSpaceImageHeight)); setDummyDataWithHeader(recyclerView, headerView); // TouchInterceptionViewGroup should be a parent view other than ViewPager. // This is a workaround for the issue #117: // https://github.com/ksoichiro/Android-ObservableScrollView/issues/117 recyclerView.setTouchInterceptionViewGroup((ViewGroup) view.findViewById(R.id.fragment_root)); // Scroll to the specified offset after layout Bundle args = getArguments(); if (args != null && args.containsKey(ARG_SCROLL_Y)) { final int scrollY = args.getInt(ARG_SCROLL_Y, 0); ScrollUtils.addOnGlobalLayoutListener(recyclerView, new Runnable() { @Override public void run() { int offset = scrollY % flexibleSpaceImageHeight; RecyclerView.LayoutManager lm = recyclerView.getLayoutManager(); if (lm != null && lm instanceof LinearLayoutManager) { ((LinearLayoutManager) lm).scrollToPositionWithOffset(0, -offset); } } }); updateFlexibleSpace(scrollY, view); } else { updateFlexibleSpace(0, view); } recyclerView.setScrollViewCallbacks(this); return view; }
Example #21
Source File: TouchInterceptionRecyclerViewActivityTest.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override protected void setUp() throws Exception { super.setUp(); setActivityInitialTouchMode(true); activity = getActivity(); scrollable = (ObservableRecyclerView) activity.findViewById(R.id.scrollable); }
Example #22
Source File: FillGap3RecyclerViewActivity.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override protected ObservableRecyclerView createScrollable() { ObservableRecyclerView recyclerView = (ObservableRecyclerView) findViewById(R.id.scroll); recyclerView.setScrollViewCallbacks(this); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setHasFixedSize(true); setDummyDataFew(recyclerView); return recyclerView; }
Example #23
Source File: ActionBarControlRecyclerViewActivity.java From Android-ObservableScrollView with Apache License 2.0 | 5 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_actionbarcontrolrecyclerview); ObservableRecyclerView recyclerView = (ObservableRecyclerView) findViewById(R.id.recycler); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setHasFixedSize(true); recyclerView.setScrollViewCallbacks(this); setDummyData(recyclerView); }
Example #24
Source File: ScrollFromBottomRecyclerViewActivity.java From UltimateAndroid with Apache License 2.0 | 5 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.observable_scroll_view_activity_toolbarcontrolrecyclerview); setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); mHeaderView = findViewById(R.id.header); ViewCompat.setElevation(mHeaderView, getResources().getDimension(R.dimen.toolbar_elevation)); mToolbarView = findViewById(R.id.toolbar); mRecyclerView = (ObservableRecyclerView) findViewById(R.id.recycler); mRecyclerView.setScrollViewCallbacks(this); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.setHasFixedSize(false); ArrayList<String> items = new ArrayList<String>(); for (int i = 1; i <= 100; i++) { items.add("Item " + i); } View headerView = LayoutInflater.from(this).inflate(R.layout.observable_scroll_view_recycler_header, null); mRecyclerView.setAdapter(new SimpleHeaderRecyclerAdapter(this, items, headerView)); ViewTreeObserver vto = mRecyclerView.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { mRecyclerView.getViewTreeObserver().removeGlobalOnLayoutListener(this); } else { mRecyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this); } int count = mRecyclerView.getAdapter().getItemCount() - 1; int position = count == 0 ? 1 : count > 0 ? count : 0; mRecyclerView.scrollToPosition(position); } }); }
Example #25
Source File: RecyclerViewHolder.java From material-scrolling with Apache License 2.0 | 5 votes |
public RecyclerViewHolder(final ObservableRecyclerView recyclerView, final BehaviorDispatcher behaviorDispatcher) { this.recyclerView = recyclerView; this.recyclerView.setClipToPadding(false); this.behaviorDispatcher = behaviorDispatcher; recyclerView.setScrollViewCallbacks(new OnScrollDelegate(this)); }
Example #26
Source File: MaterialScrollingViewPager.java From material-scrolling with Apache License 2.0 | 5 votes |
@Override public void onPageSelected(final int position) { final ObservableRecyclerView recyclerView = findRecyclerViewFrom(position); if (recyclerView == null) { return; } for (RecyclerViewHolder holder : holders.values()) { holder.setIsDispatchScroll(false); } behaviorDispatcher.onScrolled(activeHolder.getScrollY(), 0); activeHolder = holders.get(recyclerView); activeHolder.setIsDispatchScroll(true); }
Example #27
Source File: MaterialScrollingViewPager.java From material-scrolling with Apache License 2.0 | 5 votes |
@Override public void addView(final View child, final int index, final ViewGroup.LayoutParams params) { super.addView(child, index, params); ObservableRecyclerView recyclerView = Utils.findRecyclerView(child); if (recyclerView == null) { return; } RecyclerViewHolder holder = new RecyclerViewHolder(recyclerView, behaviorDispatcher); holder.setFlexibleHeight(flexibleHeight); recyclerViews.put(child, recyclerView); holders.put(recyclerView, holder); }
Example #28
Source File: MaterialScrollingViewPager.java From material-scrolling with Apache License 2.0 | 5 votes |
private ObservableRecyclerView findRecyclerViewFrom(final int position) { final PagerAdapter adapter = getAdapter(); if (adapter instanceof ContainRecyclerViewPagerAdapter) { return ((ContainRecyclerViewPagerAdapter) adapter).getRecyclerView(position); } return null; }
Example #29
Source File: MaterialScrollingLayout.java From material-scrolling with Apache License 2.0 | 5 votes |
@Override public void addView(final View child, final int index, final ViewGroup.LayoutParams params) { super.addView(child, index, params); ObservableRecyclerView recyclerView = Utils.findRecyclerView(child); if (recyclerView == null) { return; } recyclerViewHolder = new RecyclerViewHolder(recyclerView, behaviorDispatcher); recyclerViewHolder.setFlexibleHeight(flexibleHeight); recyclerViewHolder.setIsDispatchScroll(true); }
Example #30
Source File: CompanySelectActivity.java From ExpressHelper with GNU General Public License v3.0 | 5 votes |
@Override protected void setUpViews() { mRecyclerView = (ObservableRecyclerView) findViewById(R.id.company_list); mSearchBox = (SearchBox) findViewById(R.id.searchBox); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.setHasFixedSize(true); mSearchBox.setHintText(getString(R.string.search_hint_company)); mSearchBox.setLogoText(""); }