本文整理汇总了Java中ru.noties.scrollable.CanScrollVerticallyDelegate类的典型用法代码示例。如果您正苦于以下问题:Java CanScrollVerticallyDelegate类的具体用法?Java CanScrollVerticallyDelegate怎么用?Java CanScrollVerticallyDelegate使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CanScrollVerticallyDelegate类属于ru.noties.scrollable包,在下文中一共展示了CanScrollVerticallyDelegate类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: onCreateView
import ru.noties.scrollable.CanScrollVerticallyDelegate; //导入依赖的package包/类
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle sis) {
final View view = inflater.inflate(R.layout.fragment_scrollable, parent, false);
ScrollableLayout scrollableLayout = findView(view, R.id.scrollable_layout);
final ViewPager header = findView(view, R.id.header_view_pager);
final ViewPager pager = findView(view, R.id.view_pager);
final TabsLayout tabsLayout = findView(view, R.id.tabs);
final ViewPagerAdapter adapter = new ViewPagerAdapter(
getChildFragmentManager(),
getResources(),
Arrays.asList(ListViewFragment.newInstance(0x80FF0000), RecyclerViewFragment.newInstance(0x8000FF00))
);
pager.setAdapter(adapter);
tabsLayout.setViewPager(pager);
scrollableLayout.setCanScrollVerticallyDelegate(new CanScrollVerticallyDelegate() {
@Override
public boolean canScrollVertically(int direction) {
return adapter.canScrollVertically(pager.getCurrentItem(), direction);
}
});
scrollableLayout.setOnScrollChangedListener(new OnScrollChangedListener() {
@Override
public void onScrollChanged(int y, int oldY, int maxY) {
final float tabsTranslationY;
if (y < maxY) {
tabsTranslationY = .0F;
} else {
tabsTranslationY = y - maxY;
}
tabsLayout.setTranslationY(tabsTranslationY);
header.setTranslationY(y / 2);
}
});
final HeaderPagerAdapter headerPagerAdapter = new HeaderPagerAdapter(getChildFragmentManager(), 20);
header.setAdapter(headerPagerAdapter);
return view;
}
开发者ID:guoqj,项目名称:Scrollable-master,代码行数:43,代码来源:ScrollableFragment.java
示例2: onCreateDialog
import ru.noties.scrollable.CanScrollVerticallyDelegate; //导入依赖的package包/类
@Override
@NonNull
public Dialog onCreateDialog(Bundle sis) {
final Dialog dialog = new Dialog(getActivity(), R.style.ScrollableDialogStyle);
final LayoutInflater inflater = LayoutInflater.from(getActivity());
final View view = inflater.inflate(R.layout.fragment_dialog, null);
dialog.setContentView(view);
final ScrollableLayout scrollableLayout = findView(view, R.id.scrollable_layout);
scrollableLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
final int height = scrollableLayout.getChildAt(0).getHeight();
if (height == 0) {
return;
}
ViewUtils.removeOnGlobalLayoutListener(scrollableLayout, this);
scrollableLayout.setMaxScrollY(height);
scrollableLayout.scrollTo(0, height / 2);
scrollableLayout.setCloseUpAlgorithm(new DialogCloseUpAlgorithm());
}
});
final View placeholder = view.findViewById(R.id.dialog_placeholder);
final View title = view.findViewById(R.id.dialog_title);
placeholder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
scrollableLayout.setDraggableView(title);
scrollableLayout.setFriction(getArguments().getFloat(ARG_FRICTION, BuildConfig.START_FRICTION));
final ListView listView = findView(view, R.id.list_view);
final BaseListAdapter adapter = new BaseListAdapter(getActivity(), 50);
listView.setAdapter(adapter);
scrollableLayout.setCanScrollVerticallyDelegate(new CanScrollVerticallyDelegate() {
@Override
public boolean canScrollVertically(int direction) {
return listView.canScrollVertically(direction);
}
});
scrollableLayout.setOnScrollChangedListener(new OnScrollChangedListener() {
@Override
public void onScrollChanged(int y, int oldY, int maxY) {
final float tY;
if (y < maxY) {
tY = .0F;
} else {
tY = y - maxY;
}
title.setTranslationY(tY);
if (y < (maxY / 4)) {
final float alpha = (float) y / (maxY / 4);
scrollableLayout.getChildAt(2).setAlpha(alpha);
scrollableLayout.getChildAt(1).setAlpha(alpha);
} else {
scrollableLayout.getChildAt(2).setAlpha(1.F);
scrollableLayout.getChildAt(1).setAlpha(1.F);
}
if (y == 0) {
dismiss();
}
}
});
return dialog;
}
开发者ID:guoqj,项目名称:Scrollable-master,代码行数:80,代码来源:ScrollableDialog.java
示例3: onCreate
import ru.noties.scrollable.CanScrollVerticallyDelegate; //导入依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar myToolbar = (Toolbar) findViewById(R.id.toolbar_tabs);
setSupportActionBar(myToolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_tabs_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, myToolbar,
R.string.navigation_drawer_open, R.string.navigation_drawer_close);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_tabs_view);
navigationView.setNavigationItemSelectedListener(this);
final TabsLayout tabs = findView(R.id.tabs);
mScrollableLayout = findView(R.id.scrollable_layout);
mScrollableLayout.setDraggableView(tabs);
final ViewPager viewPager = findView(R.id.view_pager);
final ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager(), getResources(), getFragments());
viewPager.setAdapter(adapter);
tabs.setViewPager(viewPager);
// Note this bit, it's very important
mScrollableLayout.setCanScrollVerticallyDelegate(new CanScrollVerticallyDelegate() {
@Override
public boolean canScrollVertically(int direction) {
return adapter.canScrollVertically(viewPager.getCurrentItem(), direction);
}
});
mScrollableLayout.setOnScrollChangedListener(new OnScrollChangedListener() {
@Override
public void onScrollChanged(int y, int oldY, int maxY) {
// Sticky behavior
final float tabsTranslationY;
if (y < maxY) {
tabsTranslationY = .0F;
} else {
tabsTranslationY = y - maxY;
}
tabs.setTranslationY(tabsTranslationY);
}
});
}
开发者ID:acien101,项目名称:DiedricoApp,代码行数:50,代码来源:TabsActivity.java
示例4: onCreate
import ru.noties.scrollable.CanScrollVerticallyDelegate; //导入依赖的package包/类
@Override
public void onCreate(Bundle sis) {
super.onCreate(sis);
setContentView(R.layout.activity_swipe_refresh);
final SwipeRefreshLayout swipeRefreshLayout = findView(R.id.swipe_refresh_layout);
final ScrollableLayout scrollableLayout = findView(R.id.scrollable_layout);
final SampleHeaderView headerView = findView(R.id.header);
final RecyclerView recyclerView = findView(R.id.recycler_view);
swipeRefreshLayout.setColorSchemeResources(R.color.md_teal_500);
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
swipeRefreshLayout.postDelayed(new Runnable() {
@Override
public void run() {
swipeRefreshLayout.setRefreshing(false);
}
}, 5000L);
}
});
scrollableLayout.setCanScrollVerticallyDelegate(new CanScrollVerticallyDelegate() {
@Override
public boolean canScrollVertically(int direction) {
return recyclerView.canScrollVertically(direction);
}
});
scrollableLayout.setOnFlingOverListener(new OnFlingOverListener() {
@Override
public void onFlingOver(int y, long duration) {
recyclerView.smoothScrollBy(0, y);
}
});
scrollableLayout.addOnScrollChangedListener(new SampleHeaderViewOnScrollChangedListener(headerView));
final ViewTypesAdapter<String> adapter = ViewTypesAdapter.builder(String.class)
.register(String.class, new ViewTypeItem())
.build(this);
adapter.setItems(ItemsGenerator.generate(100));
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter(adapter);
}
开发者ID:noties,项目名称:Scrollable,代码行数:50,代码来源:SwipeRefreshActivity.java
示例5: onCreate
import ru.noties.scrollable.CanScrollVerticallyDelegate; //导入依赖的package包/类
@Override
public void onCreate(Bundle sis) {
super.onCreate(sis);
final Window window = getWindow();
window.requestFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_sample_list);
final ScrollableLayout scrollableLayout = findView(R.id.scrollable_layout);
final RecyclerView recyclerView = findView(R.id.recycler_view);
final SampleHeaderView headerView = findView(R.id.header);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);
scrollableLayout.setCanScrollVerticallyDelegate(new CanScrollVerticallyDelegate() {
@Override
public boolean canScrollVertically(int direction) {
return recyclerView.canScrollVertically(direction);
}
});
scrollableLayout.addOnScrollChangedListener(new SampleHeaderViewOnScrollChangedListener(headerView));
scrollableLayout.setOnFlingOverListener(new OnFlingOverListener() {
@Override
public void onFlingOver(int y, long duration) {
recyclerView.smoothScrollBy(0, y);
}
});
scrollableLayout.setOverScrollListener(new ZoomInHeaderOverScrollListener(headerView, recyclerView));
final ViewTypesAdapter<SampleListItem> adapter = ViewTypesAdapter.builder(SampleListItem.class)
.register(SampleListItem.class, new SampleListItemViewType())
.setHasStableIds(true)
.registerOnClickListener(new OnItemClickListener<SampleListItem, Holder>() {
@Override
public void onItemClick(SampleListItem item, Holder holder) {
// yeah, conditions...
if (ScrollableDialog.class.equals(item.sampleActivityClass())) {
final ScrollableDialog dialog = new ScrollableDialog();
dialog.show(getSupportFragmentManager(), "tag.Dialog");
} else {
final Intent intent = new Intent(SampleListActivity.this, item.sampleActivityClass());
startActivity(intent);
}
}
})
.build(this);
adapter.setItems(sampleItems(getApplicationContext()));
recyclerView.setAdapter(adapter);
}
开发者ID:noties,项目名称:Scrollable,代码行数:53,代码来源:SampleListActivity.java
示例6: onCreate
import ru.noties.scrollable.CanScrollVerticallyDelegate; //导入依赖的package包/类
@Override
public void onCreate(Bundle sis) {
super.onCreate(sis);
setContentView(R.layout.activity_scroll_header);
final ScrollableLayout scrollableLayout = findView(R.id.scrollable_layout);
final RecyclerView headerRecyclerView = findView(R.id.recycler_view_header);
final RecyclerView contentRecyclerView = findView(R.id.recycler_view);
final View header = findViewById(R.id.header);
final ViewTypesAdapter<String> adapter = ViewTypesAdapter.builder(String.class)
.register(String.class, new ViewTypeItem())
.build(this);
adapter.setItems(ItemsGenerator.generate(100));
headerRecyclerView.setLayoutManager(new LinearLayoutManager(this));
contentRecyclerView.setLayoutManager(new LinearLayoutManager(this));
headerRecyclerView.setAdapter(adapter);
contentRecyclerView.setAdapter(adapter);
scrollableLayout.setFriction(.035F);
scrollableLayout.setDraggableView(header);
scrollableLayout.setCanScrollVerticallyDelegate(new CanScrollVerticallyDelegate() {
@Override
public boolean canScrollVertically(int direction) {
return contentRecyclerView.canScrollVertically(direction);
}
});
scrollableLayout.addOnScrollChangedListener(new OnScrollChangedListener() {
final CCFAnimator mCCFAnimator = CCFAnimator.rgb(
ContextCompat.getColor(ScrollHeaderActivity.this, R.color.md_teal_300),
ContextCompat.getColor(ScrollHeaderActivity.this, R.color.md_teal_500)
);
@Override
public void onScrollChanged(int y, int oldY, int maxY) {
final float ratio = (float) y / maxY;
headerRecyclerView.setBackgroundColor(mCCFAnimator.getColor(ratio));
}
});
}
开发者ID:noties,项目名称:Scrollable,代码行数:47,代码来源:ScrollHeaderActivity.java
示例7: onCreateDialog
import ru.noties.scrollable.CanScrollVerticallyDelegate; //导入依赖的package包/类
@Override
@NonNull
public Dialog onCreateDialog(Bundle sis) {
final Dialog dialog = new Dialog(getActivity(), R.style.ScrollableDialogStyle);
final LayoutInflater inflater = LayoutInflater.from(getActivity());
final View view = inflater.inflate(R.layout.fragment_dialog, null);
dialog.setContentView(view);
final ScrollableLayout scrollableLayout = (ScrollableLayout) view.findViewById(R.id.scrollable_layout);
final View placeholder = view.findViewById(R.id.dialog_placeholder);
final View title = view.findViewById(R.id.dialog_title);
placeholder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
scrollableLayout.setDraggableView(title);
scrollableLayout.setFriction(getArguments().getFloat(ARG_FRICTION, BuildConfig.START_FRICTION));
final ListView listView = (ListView) view.findViewById(R.id.list_view);
final BaseListAdapter adapter = new BaseListAdapter(getActivity(), 50);
listView.setAdapter(adapter);
scrollableLayout.setCanScrollVerticallyDelegate(new CanScrollVerticallyDelegate() {
@Override
public boolean canScrollVertically(int direction) {
return listView.canScrollVertically(direction);
}
});
scrollableLayout.setOnScrollChangedListener(new OnScrollChangedListener() {
@Override
public void onScrollChanged(int y, int oldY, int maxY) {
final float tY;
if (y < maxY) {
tY = .0F;
} else {
tY = y - maxY;
}
title.setTranslationY(tY);
final float alpha = 1.F - ((float) y / maxY);
placeholder.setAlpha(alpha);
}
});
return dialog;
}
开发者ID:tianshiaimili,项目名称:suspendHeadTab,代码行数:56,代码来源:ScrollableDialog.java
示例8: finishCreateView
import ru.noties.scrollable.CanScrollVerticallyDelegate; //导入依赖的package包/类
@Override
public void finishCreateView(Bundle state) {
APP_BAR_HEIGHT = getResources().getDimensionPixelSize(R.dimen.appbar_parallax_max_height);
TAB_HEIGHT = getResources().getDimensionPixelSize(R.dimen.appbar_tab_height);
TOOLBAR_HEIGHT = getResources().getDimensionPixelSize(R.dimen.abc_action_bar_default_height_material);
if (Build.VERSION.SDK_INT >= 19) {
STATUS_BAR_HEIGHT = Utility.getStatusBarHeight(getApplicationContext());
}
mBannerPager = $(R.id.banner_pager);
mTabPager = $(R.id.tab_pager);
mBannerIndicator = $(R.id.pager_indicator);
mSlidingTab = $(R.id.sliding_tabs);
mAppBarLayout = $(R.id.appbar_layout);
mAppBarBackground = $(R.id.appbar_background);
mScrollableLayout = $(R.id.scrollable);
mBannerLoadingView = $(R.id.banner_loading_circle);
ViewCompat.setElevation(mAppBarLayout, getResources().getDimensionPixelSize(R.dimen.toolbar_elevation));
mHomeAdapter = new HomePagerAdapter(getChildFragmentManager(), getApplicationContext());
mTabPager.setAdapter(mHomeAdapter);
mSlidingTab.setViewPager(mTabPager);
mSlidingTab.setCustomTabView(R.layout.tab_indicator, android.R.id.text1);
mSlidingTab.setSelectedIndicatorColors(getResources().getColor(android.R.color.white));
mSlidingTab.setDistributeEvenly(true);
mSlidingTab.setOnTabItemClickListener(new SlidingTabLayout.OnTabItemClickListener() {
@Override
public void onTabItemClick(int pos) {
if (pos != mTabPager.getCurrentItem()) return;
mHomeAdapter.scrollToTop(pos);
}
});
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
);
lp.setMargins(0, STATUS_BAR_HEIGHT + TOOLBAR_HEIGHT + TAB_HEIGHT, 0, 0);
mTabPager.setLayoutParams(lp);
mScrollableLayout.setMaxScrollY(APP_BAR_HEIGHT - STATUS_BAR_HEIGHT - TOOLBAR_HEIGHT - TAB_HEIGHT);
mScrollableLayout.setCanScrollVerticallyDelegate(new CanScrollVerticallyDelegate() {
@Override
public boolean canScrollVertically(int i) {
return mHomeAdapter.canScrollVertically(mTabPager.getCurrentItem(), i);
}
});
mScrollableLayout.setOnScrollChangedListener(new OnScrollChangedListener() {
@Override
public void onScrollChanged(int y, int oldY, int maxY) {
float tabsTransitionY = y < maxY ? 0 : y - maxY;
mSlidingTab.setTranslationY(tabsTransitionY);
if (mBannerAdapter != null) {
mBannerAdapter.setBannerImageTransitionY(tabsTransitionY * 0.7f);
}
float alpha = ((float) y) / (float) maxY;
mAppBarBackground.setAlpha(alpha);
}
});
new IndexGetTask().execute();
startBannerGetTask();
}
开发者ID:fython,项目名称:BiliNyan-Android,代码行数:65,代码来源:SectionHomeFragment.java
注:本文中的ru.noties.scrollable.CanScrollVerticallyDelegate类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论