Java Examples for android.support.v4.widget.NestedScrollView
The following java examples will help you to understand the usage of android.support.v4.widget.NestedScrollView. These source code samples are taken from different open source projects.
Example 1
| Project: MyGank-master File: NestedScrollListener.java View source code |
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
int dy = scrollY - oldScrollY;
if (totalScrollDistance > SCROLL_DISTANCE) {
hideToolBar();
totalScrollDistance = 0;
} else if (totalScrollDistance < -SCROLL_DISTANCE) {
showToolBar();
totalScrollDistance = 0;
}
if (dy > 0 || dy < 0)
totalScrollDistance += dy;
}Example 2
| Project: RxBinding-master File: RxNestedScrollViewTestActivity.java View source code |
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScrollView scrollView = new ScrollView(this);
nestedScrollView = new NestedScrollView(this);
emptyView = new FrameLayout(this);
LayoutParams scrollParams = new LayoutParams(MATCH_PARENT, MATCH_PARENT);
LayoutParams emptyParams = new LayoutParams(50000, 50000);
nestedScrollView.addView(emptyView, emptyParams);
scrollView.addView(nestedScrollView, scrollParams);
setContentView(scrollView, scrollParams);
}Example 3
| Project: ElasticDragDismissLayout-master File: Util.java View source code |
static void checkParent(ViewGroup viewGroup, TypedArray a) {
boolean checkParent = true;
if (a.hasValue(R.styleable.ElasticDragDismissFrameLayout_ignoreNestedScrollWarnings)) {
checkParent = a.getBoolean(R.styleable.ElasticDragDismissFrameLayout_ignoreNestedScrollWarnings, false);
}
if (!checkParent) {
return;
}
if (viewGroup.getParent() instanceof NestedScrollView) {
if (!((NestedScrollView) viewGroup.getParent()).isNestedScrollingEnabled()) {
throw new IllegalStateException("You need to set nestedScrollingEnabled on the NestedScrollView");
}
} else if (viewGroup.getParent() instanceof ScrollView) {
if (Build.VERSION.SDK_INT >= 21) {
if (!((ScrollView) viewGroup.getParent()).isNestedScrollingEnabled()) {
throw new IllegalStateException("You need to set nestedScrollingEnabled on the ScrollView");
}
}
}
}Example 4
| Project: demos-master File: ScrollingActivity.java View source code |
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scrolling);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
});
NestedScrollView nestedScrollView = (NestedScrollView) findViewById(R.id.nestScrollView);
nestedScrollView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
Log.d("TAG", "onTouch() called with: view = [" + view.getTop() + "], motionEvent = [" + motionEvent + "]");
return false;
}
});
Button button = (Button) findViewById(R.id.btn);
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) button.getLayoutParams();
layoutParams.setBehavior(new CstBehavior());
}Example 5
| Project: ExpectAnim-master File: ScrollActivity.java View source code |
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scroll);
ButterKnife.bind(this);
this.expectAnimMove = new ExpectAnim().expect(avatar).toBe(topOfParent().withMarginDp(20), leftOfParent().withMarginDp(20), scale(0.5f, 0.5f)).expect(username).toBe(toRightOf(avatar).withMarginDp(16), sameCenterVerticalAs(avatar), alpha(0.5f)).expect(follow).toBe(rightOfParent().withMarginDp(20), sameCenterVerticalAs(avatar)).expect(backbground).toBe(height(height).withGravity(Gravity.LEFT, Gravity.TOP)).toAnimation();
scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
final float percent = (scrollY * 1f) / v.getMaxScrollAmount();
expectAnimMove.setPercent(percent);
}
});
}Example 6
| Project: MVVMLight-master File: ViewBindingAdapter.java View source code |
@SuppressWarnings("unchecked")
@BindingAdapter({ "onScrollChangeCommand" })
public static void onScrollChangeCommand(final NestedScrollView nestedScrollView, final ReplyCommand<NestScrollDataWrapper> onScrollChangeCommand) {
nestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (onScrollChangeCommand != null) {
onScrollChangeCommand.execute(new NestScrollDataWrapper(scrollX, scrollY, oldScrollX, oldScrollY));
}
}
});
}Example 7
| Project: Expense-Tracker-App-master File: FABScrollBehavior.java View source code |
@Override
public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, FloatingActionButton child, View directTargetChild, View target, int nestedScrollAxes) {
String a = directTargetChild.getClass().getSimpleName();
//excluding Statistics case and History for FAB behavior
if (target instanceof NestedScrollView && target.getTag() != null) {
if (target.getTag().toString().equalsIgnoreCase(ExpenseTrackerApp.getContext().getString(R.string.statistics)) || target.getTag().toString().equalsIgnoreCase(ExpenseTrackerApp.getContext().getString(R.string.history))) {
return false;
}
}
return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL || super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes);
}Example 8
| Project: Transitions-master File: TransitionActivity.java View source code |
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_transition);
fab = (FloatingActionButton) findViewById(R.id.fab);
nestedScrollView = (NestedScrollView) findViewById(R.id.nestedScrollView);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
View circleView = findViewById(R.id.circleView);
Intent intent = getIntent();
circleView.setTransitionName(intent.getStringExtra("transition"));
Transition transition = getWindow().getSharedElementEnterTransition();
transition.addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
fab.setScaleX(0);
fab.setScaleY(0);
fab.setVisibility(View.INVISIBLE);
nestedScrollView.setAlpha(0f);
}
@Override
public void onTransitionEnd(Transition transition) {
fab.show();
nestedScrollView.setTranslationY(TransitionUtils.dpToPixels(TransitionActivity.this, 72));
nestedScrollView.animate().alpha(1f).translationY(0).setInterpolator(new DecelerateInterpolator());
transition.removeListener(this);
}
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
});
} else {
if (savedInstanceState == null) {
fab.setScaleX(0);
fab.setScaleY(0);
fab.setVisibility(View.INVISIBLE);
fab.postDelayed(new Runnable() {
@Override
public void run() {
fab.show();
}
}, 300);
}
}
}Example 9
| Project: Android-DragDismissActivity-master File: ToolbarScrollListener.java View source code |
@Override
public void onScrollChange(final NestedScrollView scrollView, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
int dy = scrollY - oldScrollY;
if (dy > 0 && toolbar.getTranslationY() == 0) {
final Interpolator interpolator = new AccelerateInterpolator();
if (!isUpdatingTranslation) {
animateTranslation(-1 * toolbar.getHeight(), interpolator);
}
if (transparentBackground && !isUpdatingBackground) {
animateBackgroundColor(transparentColor, primaryColor, interpolator);
transparentBackground = false;
}
} else if (dy < 0 && toolbar.getTranslationY() != 0) {
final Interpolator interpolator = new DecelerateInterpolator();
if (!isUpdatingTranslation) {
animateTranslation(0, interpolator);
}
if (toolbarHandler == null) {
this.toolbarHandler = toolbar.getHandler();
}
toolbarHandler.removeCallbacksAndMessages(null);
toolbarHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (!transparentBackground && scrollView.getScrollY() < topOffset && !isUpdatingBackground) {
animateBackgroundColor(primaryColor, transparentColor, interpolator);
transparentBackground = true;
}
}
}, ANIMATION_DURATION);
}
}Example 10
| Project: AndroidGeek-master File: ArticleDetailActivity.java View source code |
@Override
protected void initViews() {
Intent intent = getIntent();
Article article = intent.getParcelableExtra(EXTRA_ARTICLE);
toolBar.setTitle(article.getName());
setSupportActionBar(toolBar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mArticleUrl = article.getUrl();
webView.loadUrl(mArticleUrl);
nestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
mReadProgress = scrollY;
}
});
webView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
if (Math.abs(x - lastX) >= 5) {
((WebView) v).requestDisallowInterceptTouchEvent(true);
} else {
((WebView) v).requestDisallowInterceptTouchEvent(false);
}
lastX = x;
return false;
}
});
}Example 11
| Project: JAViewer-master File: ViewUtil.java View source code |
public static Bitmap getBitmapByView(NestedScrollView scrollView) {
int h = 0;
Bitmap bitmap = null;
// 获取scrollview实际高度
for (int i = 0; i < scrollView.getChildCount(); i++) {
h += scrollView.getChildAt(i).getHeight();
scrollView.getChildAt(i).setBackgroundColor(Color.parseColor("#ffffff"));
}
// 创建对应大小的bitmap
bitmap = Bitmap.createBitmap(scrollView.getWidth(), h, Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(bitmap);
scrollView.draw(canvas);
return bitmap;
}Example 12
| Project: smooth-app-bar-layout-master File: SmoothAppBarLayout.java View source code |
@Override
public void setExpanded(boolean expanded, boolean animate) {
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) getLayoutParams();
Behavior behavior = (Behavior) params.getBehavior();
if (behavior == null) {
super.setExpanded(expanded, animate);
return;
}
View view = behavior.getScrollTarget();
if (!expanded && !behavior.isCollapsed()) {
int minOffset = Math.abs(behavior.getMinOffset(this));
if (view instanceof RecyclerView) {
RecyclerView recyclerView = (RecyclerView) view;
int offset = minOffset - recyclerView.computeVerticalScrollOffset();
if (animate) {
recyclerView.smoothScrollBy(0, offset);
} else {
recyclerView.scrollBy(0, offset);
}
} else if (view instanceof NestedScrollView) {
NestedScrollView nestedScrollView = (NestedScrollView) view;
if (animate) {
nestedScrollView.smoothScrollTo(0, minOffset);
} else {
nestedScrollView.scrollTo(0, minOffset);
}
}
} else if (expanded) {
if (view instanceof RecyclerView) {
RecyclerView recyclerView = (RecyclerView) view;
if (animate) {
if (behavior.isCollapsed()) {
recyclerView.smoothScrollToPosition(0);
} else {
recyclerView.smoothScrollBy(0, -recyclerView.computeVerticalScrollOffset());
}
} else {
if (behavior.isCollapsed()) {
recyclerView.scrollToPosition(0);
} else {
recyclerView.scrollBy(0, -recyclerView.computeVerticalScrollOffset());
}
}
} else if (view instanceof NestedScrollView) {
NestedScrollView nestedScrollView = (NestedScrollView) view;
if (animate) {
nestedScrollView.smoothScrollTo(0, 0);
} else {
nestedScrollView.scrollTo(0, 0);
}
}
}
}Example 13
| Project: Leisure-master File: BaseDetailsActivity.java View source code |
protected void initView() {
/**
* 测试用 非正式代码 ---By MummyDing
*/
//对toolbar进行下移
int height = DisplayUtil.getScreenHeight(LeisureApplication.AppContext);
LinearLayout ll = (LinearLayout) findViewById(R.id.stbar);
LinearLayout.LayoutParams llp = (LinearLayout.LayoutParams) ll.getLayoutParams();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
llp.height = (int) (height * 0.03);
ll.setLayoutParams(llp);
}
mainContent = (FrameLayout) findViewById(R.id.main_content);
scrollView = (NestedScrollView) findViewById(R.id.scrollView);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
progressBarTopPic = (ProgressBar) findViewById(R.id.progressBarTopPic);
networkBtn = (ImageButton) findViewById(R.id.networkBtn);
topImage = (SimpleDraweeView) findViewById(R.id.topImage);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("");
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
getSupportActionBar().setBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.top_gradient));
contentView = (WebView) findViewById(R.id.content_view);
contentView.getSettings().setJavaScriptEnabled(true);
// 开启缓存
contentView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
contentView.getSettings().setDomStorageEnabled(true);
contentView.getSettings().setDatabaseEnabled(true);
contentView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
hideLoading();
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
displayNetworkError();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
contentView.loadUrl(url);
return false;
}
});
if (HttpUtil.isWIFI == false) {
contentView.getSettings().setBlockNetworkImage(Settings.getInstance().getBoolean(Settings.NO_PIC_MODE, false));
} else {
// fix issue #13
contentView.getSettings().setBlockNetworkImage(false);
}
/**
* 网络异常就显示
*/
networkBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
networkBtn.setVisibility(View.GONE);
progressBar.setVisibility(View.VISIBLE);
onDataRefresh();
}
});
onDataRefresh();
}Example 14
| Project: materialistic-master File: WebFragment.java View source code |
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (isNewInstance()) {
mFragmentView = inflater.inflate(R.layout.fragment_web, container, false);
mFullscreenView = (ViewGroup) mFragmentView.findViewById(R.id.fullscreen);
mScrollViewContent = (ViewGroup) mFragmentView.findViewById(R.id.scroll_view_content);
mScrollView = (NestedScrollView) mFragmentView.findViewById(R.id.nested_scroll_view);
mControls = (ViewSwitcher) mFragmentView.findViewById(R.id.control_switcher);
mWebView = (WebView) mFragmentView.findViewById(R.id.web_view);
mButtonRefresh = (ImageButton) mFragmentView.findViewById(R.id.button_refresh);
mButtonMore = mFragmentView.findViewById(R.id.button_more);
mButtonNext = mFragmentView.findViewById(R.id.button_next);
mButtonNext.setEnabled(false);
mEditText = (EditText) mFragmentView.findViewById(R.id.edittext);
setUpWebControls(mFragmentView);
setUpWebView(mFragmentView);
}
return mFragmentView;
}Example 15
| Project: MaterialViewPager-master File: MaterialViewPagerAnimator.java View source code |
/**
* Register a ScrollView to the current MaterialViewPagerAnimator
* Listen to ObservableScrollViewCallbacks so give to $[observableScrollViewCallbacks] your ObservableScrollViewCallbacks if you already use one
* For loadmore or anything else
*
* @param scrollView the scrollable
*/
void registerScrollView(final NestedScrollView scrollView) {
if (scrollView != null) {
//add to the scrollable list
scrollViewList.add(scrollView);
scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
boolean firstZeroPassed;
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
//first time you get 0, don't share it to others scrolls
if (scrollY == 0 && !firstZeroPassed) {
firstZeroPassed = true;
return;
}
//only if yOffset changed
if (isNewYOffset(scrollY)) {
onMaterialScrolled(scrollView, scrollY);
}
}
});
scrollView.post(new Runnable() {
@Override
public void run() {
setScrollOffset(scrollView, lastYOffset);
}
});
}
}Example 16
| Project: Autoshkolla-master File: Autoshkolla_Profile.java View source code |
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_autoshkolla__profile);
autoshkolla_BackButton = (Button) findViewById(R.id.autoshkolla_FormBackButton);
autoshkolla_BackButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Autoshkolla_Profile.super.onBackPressed();
}
});
final AppBarLayout appbarLayout = (AppBarLayout) findViewById(R.id.app_bar);
nestedScrollView = (NestedScrollView) findViewById(R.id.nestedScroll);
nestedScrollView.scrollTo(0, 180);
linearLayout = (LinearLayout) findViewById(R.id.hideabbleLayout);
appbarLayout.setExpanded(false);
final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setImageResource(R.drawable.a_collapseicon);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (appbarLayout.getTop() < 0) {
fab.setImageResource(R.drawable.a_collapseicon);
linearLayout.setVisibility(View.GONE);
nestedScrollView.setNestedScrollingEnabled(false);
appbarLayout.setExpanded(true);
} else {
fab.setImageResource(R.drawable.a_expandicon);
linearLayout.setVisibility(View.VISIBLE);
nestedScrollView.setNestedScrollingEnabled(true);
appbarLayout.setExpanded(false);
}
}
});
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
final CoordinatorLayout mainScrollView = (CoordinatorLayout) findViewById(R.id.cscroll);
ImageView transparentImageView = (ImageView) findViewById(R.id.imagetrans);
transparentImageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch(action) {
case MotionEvent.ACTION_DOWN:
// Disallow ScrollView to intercept touch events.
mainScrollView.requestDisallowInterceptTouchEvent(true);
// Disable touch on transparent view
return false;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
mainScrollView.requestDisallowInterceptTouchEvent(false);
return true;
case MotionEvent.ACTION_MOVE:
mainScrollView.requestDisallowInterceptTouchEvent(true);
return false;
default:
return true;
}
}
});
}Example 17
| Project: gh4a-master File: LoadingListFragmentBase.java View source code |
@Override
protected View onCreateContentView(LayoutInflater inflater, ViewGroup parent) {
View view = inflater.inflate(R.layout.list_fragment_content, parent, false);
mEmptyViewContainer = (NestedScrollView) view.findViewById(R.id.empty_view_container);
TextView emptyView = (TextView) view.findViewById(android.R.id.empty);
int emptyTextResId = getEmptyTextResId();
if (emptyTextResId != 0) {
emptyView.setText(emptyTextResId);
}
mLayoutManager = new LinearLayoutManager(view.getContext());
mRecyclerView = (RecyclerView) view.findViewById(R.id.list);
mRecyclerView.setLayoutManager(mLayoutManager);
onRecyclerViewInflated(mRecyclerView, inflater);
if (hasDividers()) {
mRecyclerView.addItemDecoration(new DividerItemDecoration(view.getContext()));
}
if (!hasCards()) {
mRecyclerView.setBackgroundResource(UiUtils.resolveDrawable(getActivity(), R.attr.listBackground));
}
mFastScroller = (RecyclerFastScroller) view.findViewById(R.id.fast_scroller);
mFastScroller.attachRecyclerView(mRecyclerView);
mFastScroller.setOnHandleTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
getBaseActivity().setRightDrawerLockedClosed(true);
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
getBaseActivity().setRightDrawerLockedClosed(false);
break;
}
return false;
}
});
return view;
}Example 18
| Project: Boring-master File: ZhiHuEssayActivity.java View source code |
@Override
public void findView() {
initMVP();
mWbParent = (NestedScrollView) findViewById(R.id.ac_zhi_hu_essay_wv_parent);
mSdvNewsHeader = (SimpleDraweeView) findViewById(R.id.ac_zhi_hu_essay_sdv_news_header);
mIvPre = (ImageView) findViewById(R.id.ac_zhi_hu_essay_iv_pre);
mIvNext = (ImageView) findViewById(R.id.ac_zhi_hu_essay_iv_next);
mIvLike = (ImageView) findViewById(R.id.ac_zhi_hu_essay_iv_lile);
mAppBarLayout = (AppBarLayout) findViewById(R.id.app_bar_layout);
}Example 19
| Project: EasyReader-master File: ZhiHuDetailActivity.java View source code |
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (scrollY - oldScrollY > 0 && isBottomShow) {
//下移隐藏
isBottomShow = false;
flDetailBottom.animate().translationY(flDetailBottom.getHeight());
} else if (scrollY - oldScrollY < 0 && !isBottomShow) {
//上移出现
isBottomShow = true;
flDetailBottom.animate().translationY(0);
}
}Example 20
| Project: Android-TopScrollHelper-master File: TopScrollHelper.java View source code |
private void doScroll() {
for (View view : mTargetScrollView) {
if (DEBUG)
Log.d(TAG, "is shown ? " + view.isShown());
if (view.isShown()) {
if (view instanceof AbsListView) {
if (((AbsListView) view).getAdapter() != null && ((AbsListView) view).getAdapter().getCount() > 15)
((AbsListView) view).setSelection(15);
((AbsListView) view).smoothScrollToPosition(0, 0);
} else if (view instanceof ScrollView) {
((ScrollView) view).smoothScrollTo(0, 0);
} else if (view instanceof WebView) {
((WebView) view).scrollTo(0, 0);
} else if (view instanceof RecyclerView) {
if (((RecyclerView) view).getAdapter() != null && ((RecyclerView) view).getAdapter().getItemCount() > 15 && ((RecyclerView) view).getLayoutManager() != null) {
((RecyclerView) view).getLayoutManager().scrollToPosition(15);
}
((RecyclerView) view).smoothScrollToPosition(0);
} else if (view instanceof NestedScrollView) {
((NestedScrollView) view).smoothScrollTo(0, 0);
}
}
}
}Example 21
| Project: seadroid-master File: NewRepoDialog.java View source code |
@Override
protected View createDialogContentView(LayoutInflater inflater, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_new_repo, null);
mRepoNameText = (EditText) view.findViewById(R.id.new_repo_name);
mEncryptSwitch = (SwitchCompat) view.findViewById(R.id.new_repo_encrypt_switch);
mPasswordText = (EditText) view.findViewById(R.id.new_repo_password);
mPasswordText.setHint(String.format(getResources().getString(R.string.passwd_min_len_limit_hint), getResources().getInteger(R.integer.minimum_password_length)));
mPasswordConfirmationText = (EditText) view.findViewById(R.id.new_repo_password_confirmation);
mNestedScrollView = (NestedScrollView) view.findViewById(R.id.nsv_new_repo_container);
if (savedInstanceState != null) {
// Restore state
mAccount = (Account) savedInstanceState.getParcelable(STATE_ACCOUNT);
}
mEncryptSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
mNestedScrollView.setVisibility(View.VISIBLE);
} else {
mNestedScrollView.setVisibility(View.GONE);
// Delete entered passwords so hiding the input fields creates an unencrypted repo
mPasswordText.setText("");
mPasswordConfirmationText.setText("");
}
}
});
return view;
}Example 22
| Project: WearColorPicker-master File: WearColorPickerActivity.java View source code |
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_color_picker);
drawerLayout = (WearableDrawerLayout) findViewById(R.id.drawerLayout);
actionDrawer = (WearableActionDrawer) findViewById(R.id.actionDrawer);
scrollView = (NestedScrollView) findViewById(R.id.scrollView);
editText = (EditText) findViewById(R.id.editText);
red = (SeekBar) findViewById(R.id.red);
blue = (SeekBar) findViewById(R.id.blue);
green = (SeekBar) findViewById(R.id.green);
imageView = (ImageView) findViewById(R.id.imageView);
drawerLayout.peekDrawer(Gravity.BOTTOM);
actionDrawer.lockDrawerClosed();
scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (scrollY == 0 || scrollY < oldScrollY)
drawerLayout.peekDrawer(Gravity.BOTTOM);
else
drawerLayout.closeDrawer(Gravity.BOTTOM);
}
});
ColorUtils.setProgressBarColor(red, ContextCompat.getColor(this, R.color.red));
red.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
color = Color.argb(255, seekBar.getProgress(), Color.green(color), Color.blue(color));
setColor(color);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
ColorUtils.setProgressBarColor(green, ContextCompat.getColor(this, R.color.green));
green.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
color = Color.argb(255, Color.red(color), seekBar.getProgress(), Color.blue(color));
setColor(color);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
ColorUtils.setProgressBarColor(blue, ContextCompat.getColor(this, R.color.blue));
blue.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
color = Color.argb(255, Color.red(color), Color.green(color), seekBar.getProgress());
setColor(color);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
try {
color = Color.parseColor(editText.getText().toString());
setColor(color, true);
} catch (IllegalArgumentException ignored) {
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
findViewById(R.id.action_done).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra(EXTRA_COLOR, color);
setResult(RESULT_OK, intent);
finish();
}
});
color = getIntent().getIntExtra(EXTRA_COLOR, Color.BLACK);
setColor(color);
}Example 23
| Project: MVP-master File: ZhihuDetailsActivity.java View source code |
@Override
public void initView(Bundle savedInstanceState) {
setToolBar(toolbar, "");
WebSettings settings = wvDetailContent.getSettings();
if (SpUtil.getNoImageState()) {
settings.setBlockNetworkImage(true);
}
if (SpUtil.getAutoCacheState()) {
settings.setAppCacheEnabled(true);
settings.setDomStorageEnabled(true);
settings.setDatabaseEnabled(true);
if (NetUtils.isConnected(mContext)) {
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
} else {
settings.setCacheMode(WebSettings.LOAD_CACHE_ONLY);
}
}
settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
settings.setSupportZoom(true);
wvDetailContent.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
nsvScroller.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
}
});
mPresenter.getZhihuDetails(getIntent().getIntExtra(Constants.ARG_DAILY_ID, -1));
(getWindow().getSharedElementEnterTransition()).addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
}
@Override
public void onTransitionEnd(Transition transition) {
/**
* 测试发现部分手机(如红米note2)上加载图片会变形,没有达到centerCrop效果
* 查阅资料发现Glide配合SharedElementTransition是有坑的,需要在Transition动画结束后再加载图片
* https://github.com/TWiStErRob/glide-support/blob/master/src/glide3/java/com/bumptech/glide/supportapp/github/_847_shared_transition/DetailFragment.java
*/
isTransitionEnd = true;
if (imgUrl != null) {
isImageShow = true;
Glide.with(mContext).load(imgUrl).crossFade().into(detailBarImage);
}
}
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
});
}Example 24
| Project: AmazeFileManager-master File: PropertiesSheet.java View source code |
@Override
public void setupDialog(Dialog dialog, int style) {
super.setupDialog(dialog, style);
rootView = View.inflate(getContext(), R.layout.fragment_sheet_properties, null);
dialog.setContentView(rootView);
mBundle = getArguments();
mFile = mBundle.getParcelable(KEY_FILE);
mPermission = mBundle.getString(KEY_PERMISSION);
mIsRoot = mBundle.getBoolean(KEY_ROOT);
mToolbar = (CollapsingToolbarLayout) rootView.findViewById(R.id.collapsing_toolbar_layout);
mAppBarLayout = (AppBarLayout) rootView.findViewById(R.id.appBarLayout);
mToolbar.setTitle(getString(R.string.properties));
mToolbar.setCollapsedTitleTextAppearance(R.style.collapsed_appbar);
mToolbar.setExpandedTitleTextAppearance(R.style.expanded_appbar);
mFileNameTextView = (TextView) rootView.findViewById(R.id.text_view_file_name);
mFileNameTextView.setText(mFile.getName());
mFileTypeTextView = (TextView) rootView.findViewById(R.id.text_view_file_type);
mFileTypeTextView.setText(mFile.isDirectory() ? getString(R.string.folder) : mFile.getName().substring(mFile.getName().lastIndexOf(".")));
mFileSizeTextView = (TextView) rootView.findViewById(R.id.text_view_file_size);
mFileSizeTextView.setText(Formatter.formatFileSize(dialog.getContext(), mFile.isDirectory() ? Futils.folderSize(new File(mFile.getPath()), null) : mFile.getSize()));
mFileLocationTextView = (TextView) rootView.findViewById(R.id.text_view_file_location);
mFileLocationTextView.setText(mFile.getPath());
mFileAccessedTextView = (TextView) rootView.findViewById(R.id.text_view_file_accessed);
mFileAccessedTextView.setText(Utils.getDate(mFile.getDate()));
mFileModifiedTextView = (TextView) rootView.findViewById(R.id.text_view_file_modified);
mFileModifiedTextView.setText(Utils.getDate(mFile.getDate()));
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) ((View) rootView.getParent()).getLayoutParams();
mBottomSheetBehavior = (BottomSheetBehavior) layoutParams.getBehavior();
mBottomSheetBehavior.setBottomSheetCallback(mCallback);
mNestedScrollView = (NestedScrollView) rootView.findViewById(R.id.nested_view);
mNestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
Log.d(getClass().getSimpleName(), "ScrollY: " + scrollY + " oldScrollY: " + oldScrollY);
if (scrollY == 0) {
// we're at the top
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
});
/*Bitmap bitmap = BitmapFactory.decodeFile(mFile.getPath());
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
mToolbarLayout.setContentScrimColor(palette.getMutedColor());
mToolbarLayout.setStatusBarScrimColor(palette.getMutedColor());
}
});*/
}Example 25
| Project: ant-master File: ZhihuDailyDetailActivity.java View source code |
@Override
protected void initViewsAndEvents(Bundle savedInstanceState) {
setToolBar(toolbar, "");
WebSettings settings = wvDetailContent.getSettings();
if (SettingUtil.getNoImageState(this)) {
settings.setBlockNetworkImage(true);
}
if (SettingUtil.getNoImageState(this)) {
settings.setAppCacheEnabled(true);
settings.setDomStorageEnabled(true);
settings.setDatabaseEnabled(true);
if (NetworkUtil.isNetworkConnected(mContext)) {
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
} else {
settings.setCacheMode(WebSettings.LOAD_CACHE_ONLY);
}
}
settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
settings.setSupportZoom(true);
wvDetailContent.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
nsvScroller.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
}
});
loadDailyData();
(getWindow().getSharedElementEnterTransition()).addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
}
@Override
public void onTransitionEnd(Transition transition) {
/**
* 测试发现部分手机(如红米note2)上加载图片会变形,没有达到centerCrop效果
* 查阅资料发现Glide配合SharedElementTransition是有坑的,需要在Transition动画结束后再加载图片
* https://github.com/TWiStErRob/glide-support/blob/master/src/glide3/java/com/bumptech/glide/supportapp/github/_847_shared_transition/DetailFragment.java
*/
isTransitionEnd = true;
if (imgUrl != null) {
isImageShow = true;
Glide.with(mContext).load(imgUrl).crossFade().into(detailBarImage);
}
}
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
});
}Example 26
| Project: CustomBottomSheetBehavior-master File: MergedAppBarLayoutBehavior.java View source code |
/**
* Look into the CoordiantorLayout for the {@link BottomSheetBehaviorGoogleMapsLike}
* @param coordinatorLayout with app:layout_behavior= {@link BottomSheetBehaviorGoogleMapsLike}
*/
private void getBottomSheetBehavior(@NonNull CoordinatorLayout coordinatorLayout) {
for (int i = 0; i < coordinatorLayout.getChildCount(); i++) {
View child = coordinatorLayout.getChildAt(i);
if (child instanceof NestedScrollView) {
try {
BottomSheetBehaviorGoogleMapsLike temp = BottomSheetBehaviorGoogleMapsLike.from(child);
mBottomSheetBehaviorRef = new WeakReference<>(temp);
break;
} catch (IllegalArgumentException e) {
}
}
}
}Example 27
| Project: GSYVideoPlayer-master File: WebDetailActivity.java View source code |
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (!webPlayer.isIfCurrentIsFullscreen() && scrollY >= 0 && isPlay) {
if (scrollY > webPlayer.getHeight()) {
//如果是小窗口就不需要处理
if (!isSamll) {
isSamll = true;
int size = CommonUtil.dip2px(WebDetailActivity.this, 150);
webPlayer.showSmallVideo(new Point(size, size), true, true);
orientationUtils.setEnable(false);
}
} else {
if (isSamll) {
isSamll = false;
orientationUtils.setEnable(true);
//必须
webTopLayoutVideo.postDelayed(new Runnable() {
@Override
public void run() {
webPlayer.hideSmallVideo();
}
}, 50);
}
}
webTopLayoutVideo.setTranslationY((scrollY <= webTopLayoutVideo.getHeight()) ? -scrollY : -webTopLayoutVideo.getHeight());
}
}Example 28
| Project: GitClub-master File: RepoPageActivity.java View source code |
@Override
public void initView() {
if (presenter == null) {
DaggerRepoPageComponent.builder().appComponent(AndroidApplication.getInstance().getAppComponent()).build().inject(this);
presenter.attachView(this);
}
drawerLayout = (DrawerLayout) findViewById(R.id.drawer);
drawerView = findViewById(R.id.drawer_view);
toolbar = (Toolbar) findViewById(R.id.toolbar);
btnWatch = (Button) findViewById(R.id.btn_watch);
btnWatch.setOnClickListener(this);
btnFork = (Button) findViewById(R.id.btn_fork);
btnFork.setOnClickListener(this);
btnStar = (Button) findViewById(R.id.btn_star);
btnStar.setOnClickListener(this);
btnShineStar = (ShineButton) findViewById(R.id.btn_toStar);
btnShineStar.setOnClickListener(this);
btnSource = (Button) findViewById(R.id.btn_source);
btnSource.setOnClickListener(this);
btnSource = (Button) findViewById(R.id.btn_source_code);
btnSource.setOnClickListener(this);
Button btnShare = (Button) findViewById(R.id.btn_share);
btnShare.setOnClickListener(this);
Button btnBrowser = (Button) findViewById(R.id.btn_open_in_browser);
btnBrowser.setOnClickListener(this);
Button btnContributors = (Button) findViewById(R.id.btn_contributors);
btnContributors.setOnClickListener(this);
Button btnStargazers = (Button) findViewById(R.id.btn_stargazers);
btnStargazers.setOnClickListener(this);
Button btnWatchers = (Button) findViewById(R.id.btn_watchers);
btnWatchers.setOnClickListener(this);
Button btnForkers = (Button) findViewById(R.id.btn_forkers);
btnForkers.setOnClickListener(this);
ivOwner = (ImageView) findViewById(R.id.iv_owner);
ivOwner.setOnClickListener(this);
tvRepo = (TextView) findViewById(R.id.tv_repo);
tvDesc = (TextView) findViewById(R.id.tv_desc);
tvLang = (TextView) findViewById(R.id.tv_language);
tvDesc.setOnClickListener(this);
WebView webView = (WebView) findViewById(R.id.web_view);
mainContent = (NestedScrollView) findViewById(R.id.main_content);
ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
webViewHelper = new WebViewHelper(webView, progressBar);
webViewHelper.setCallback(new WebViewHelper.WebViewCallback() {
@Override
public void onError() {
errorView.showErrorView(mainContent, RepoPageActivity.this);
}
});
errorView = new ErrorViewHelper((ViewStub) findViewById(R.id.vs_error));
toolbar.setTitle("");
setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
btnStarToggleHelper = ButtonToggleHelper.builder().setBackgroundDrawable(R.drawable.selector_button_white, R.drawable.selector_button_blue).setTextColor(R.color.gray_text, R.color.white).setDrawableLeft(R.drawable.ic_star_18dp, R.drawable.ic_star_white_18dp).build();
btnWatchToggleHelper = ButtonToggleHelper.builder().setBackgroundDrawable(R.drawable.selector_button_white, R.drawable.selector_button_blue).setTextColor(R.color.gray_text, R.color.white).setDrawableLeft(R.drawable.ic_watch_18dp, R.drawable.ic_watch_white_18dp).build();
}Example 29
| Project: MvpApp-master File: NewsArticleActivity.java View source code |
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (scrollY > mToolbarHeight) {
if (AnimateHelper.isRunning(mTopBarAnimator)) {
return;
}
if (Math.abs(scrollY - mLastScrollY) > mMinScrollSlop) {
boolean isPullUp = scrollY > mLastScrollY;
mLastScrollY = scrollY;
if (isPullUp && mLlTopBar.getTranslationY() != -mTopBarHeight) {
mTopBarAnimator = AnimateHelper.doMoveVertical(mLlTopBar, (int) mLlTopBar.getTranslationY(), -mTopBarHeight, 300);
} else if (!isPullUp && mLlTopBar.getTranslationY() != 0) {
mTopBarAnimator = AnimateHelper.doMoveVertical(mLlTopBar, (int) mLlTopBar.getTranslationY(), 0, 300);
}
}
} else {
if (mLlTopBar.getTranslationY() != -mTopBarHeight) {
AnimateHelper.stopAnimator(mTopBarAnimator);
ViewCompat.setTranslationY(mLlTopBar, -mTopBarHeight);
mLastScrollY = 0;
}
}
}Example 30
| Project: PaperPlane-master File: DetailFragment.java View source code |
@Override
public void initViews(View view) {
refreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.refreshLayout);
//设置下拉刷新的按钮的颜色
refreshLayout.setColorSchemeResources(R.color.colorPrimary);
webView = (WebView) view.findViewById(R.id.web_view);
webView.setScrollbarFadingEnabled(true);
DetailActivity activity = (DetailActivity) getActivity();
activity.setSupportActionBar((Toolbar) view.findViewById(R.id.toolbar));
activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
imageView = (ImageView) view.findViewById(R.id.image_view);
scrollView = (NestedScrollView) view.findViewById(R.id.scrollView);
toolbarLayout = (CollapsingToolbarLayout) view.findViewById(R.id.toolbar_layout);
//能够和js交互
webView.getSettings().setJavaScriptEnabled(true);
//缩放,设置为不能缩放可以防止页面上出现放大和缩小的图标
webView.getSettings().setBuiltInZoomControls(false);
//缓存
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
//开启DOM storage API功能
webView.getSettings().setDomStorageEnabled(true);
//开启application Cache功能
webView.getSettings().setAppCacheEnabled(false);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
presenter.openUrl(view, url);
return true;
}
});
}Example 31
| Project: diycode-master File: UserActivity.java View source code |
private void initScrollAnimation(ViewHolder holder) {
NestedScrollView scrollView = holder.get(R.id.scroll_view);
ImageView avatar = holder.get(R.id.avatar);
TextView username = holder.get(R.id.username);
View backbground = holder.get(R.id.background);
this.expectAnimMove = new ExpectAnim().expect(avatar).toBe(topOfParent().withMarginDp(13), leftOfParent().withMarginDp(13), scale(0.5f, 0.5f)).expect(username).toBe(toRightOf(avatar).withMarginDp(16), sameCenterVerticalAs(avatar), alpha(0.5f)).expect(backbground).toBe(height(DensityUtils.dip2px(this, 60)).withGravity(Gravity.LEFT, Gravity.TOP)).toAnimation();
scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
final float percent = (scrollY * 1f) / v.getMaxScrollAmount();
expectAnimMove.setPercent(percent);
}
});
}Example 32
| Project: FastReader-master File: MainActivity.java View source code |
private void initView() {
activityMainLayout = (CoordinatorLayout) findViewById(R.id.activity_main);
showMenuBtn = (ImageView) findViewById(R.id.show_menu_btn);
goSearchBtn = (ImageView) findViewById(R.id.go_search_btn);
titleText = (TextView) findViewById(R.id.title_text_view);
bookIndexScrollview = (NestedScrollView) findViewById(R.id.book_index_scrollview);
bookListView = (RecyclerView) findViewById(R.id.book_list);
titleBarLayout = (RelativeLayout) findViewById(R.id.title_bar_layout);
bookListTopPanel = (RelativeLayout) findViewById(R.id.book_list_top_panel);
/* menu */
menuView = View.inflate(this, R.layout.main_menu, null);
addLocalFile = (LinearLayout) menuView.findViewById(R.id.add_local_file);
about = (LinearLayout) menuView.findViewById(R.id.about);
feedback = (LinearLayout) menuView.findViewById(R.id.feedback);
menuPopupWindow = new PopupWindow(menuView, CoordinatorLayout.LayoutParams.MATCH_PARENT, CoordinatorLayout.LayoutParams.WRAP_CONTENT);
menuPopupWindow.setFocusable(true);
menuPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.argb(200, 81, 86, 88)));
menuPopupWindow.setAnimationStyle(R.style.PopupAnimation);
bookListAdapter = new BookListAdapter(this, bookList);
//图书列表点击事件
bookListAdapter.setOnBookListItemClickListener(this);
bookListView.setLayoutManager(new GridLayoutManager(this, 3));
bookListView.setNestedScrollingEnabled(false);
bookListView.setHasFixedSize(false);
bookListView.setAdapter(bookListAdapter);
float bookListViewHeight = getResources().getDisplayMetrics().heightPixels - ScreenUtils.getTitleBarHeight(this) - ScreenUtils.getStatusBarHeight(this);
bookListView.setMinimumHeight((int) bookListViewHeight);
//保证展示图书列表顶部区域
bookIndexScrollview.smoothScrollTo(0, 0);
//获取正常情况下,顶部区域的高度
normalTopPanelHeight = ScreenUtils.dp2px(this, 200);
totalChangeAlphaArea = normalTopPanelHeight - ScreenUtils.getTitleBarHeight(this);
initViewListener();
}Example 33
| Project: jdroid-master File: AbstractFragment.java View source code |
/**
* @see android.support.v4.app.Fragment#onViewCreated(android.view.View, android.os.Bundle)
*/
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
fragmentHelper.onViewCreated(view, savedInstanceState);
if (isHeroImageEnabled()) {
final Toolbar appBar = getAppBar();
if (appBar != null) {
if (savedInstanceState != null) {
actionBarAlpha = savedInstanceState.getInt(ACTION_BAR_ALPHA);
}
Drawable appBarBackgroundDrawable = getResources().getDrawable(R.color.jdroid_colorPrimary).mutate();
appBar.setBackgroundDrawable(appBarBackgroundDrawable);
appBarBackgroundDrawable.setAlpha(actionBarAlpha);
Integer parallaxScrollViewId = getParallaxScrollViewId();
if (parallaxScrollViewId != null) {
ParallaxScrollView parallaxScrollView = findView(parallaxScrollViewId);
parallaxScrollView.setOnScrollChangedListener(new NotifyingScrollView.OnScrollChangedListener() {
@Override
public void onScrollChanged(NestedScrollView who, int l, int t, int oldl, int oldt) {
final int headerHeight = findView(getHeroImageId()).getHeight() - appBar.getHeight();
final float ratio = (float) Math.min(Math.max(t, 0), headerHeight) / headerHeight;
actionBarAlpha = (int) (ratio * 255);
appBar.getBackground().setAlpha(actionBarAlpha);
}
});
parallaxScrollView.setParallaxViewContainer(findView(getHeroImageContainerId()));
}
}
}
}Example 34
| Project: GeekNews-master File: ZhihuDetailActivity.java View source code |
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (scrollY - oldScrollY > 0 && isBottomShow) {
//下移隐藏
isBottomShow = false;
llDetailBottom.animate().translationY(llDetailBottom.getHeight());
} else if (scrollY - oldScrollY < 0 && !isBottomShow) {
//上移出现
isBottomShow = true;
llDetailBottom.animate().translationY(0);
}
}Example 35
| Project: LookLook-master File: ZhihuDescribeActivity.java View source code |
private void initlistenr() {
zhihuReturnHomeListener = new AnimUtils.TransitionListenerAdapter() {
@Override
public void onTransitionStart(Transition transition) {
super.onTransitionStart(transition);
// hide the fab as for some reason it jumps position?? TODO work out why
mToolbar.animate().alpha(0f).setDuration(100).setInterpolator(new AccelerateInterpolator());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mShot.setElevation(1f);
mToolbar.setElevation(0f);
}
mNest.animate().alpha(0f).setDuration(50).setInterpolator(new AccelerateInterpolator());
}
};
scrollListener = new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (oldScrollY < 168) {
mShot.setOffset(-oldScrollY);
mTranslateYTextView.setOffset(-oldScrollY);
}
}
};
}Example 36
| Project: open-event-android-master File: SessionDetailActivity.java View source code |
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.action_map:
/** Hide all the views except the frame layout **/
NestedScrollView scrollView = (NestedScrollView) findViewById(R.id.nested_scrollview_session_detail);
scrollView.setVisibility(View.GONE);
AppBarLayout sessionDetailAppBar = (AppBarLayout) findViewById(R.id.app_bar_session_detail);
sessionDetailAppBar.setVisibility(View.GONE);
fabSessionBookmark.setVisibility(View.GONE);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.content_frame_session, ((OpenEventApp) getApplication()).getMapModuleFactory().provideMapModule().provideMapFragment(), FRAGMENT_TAG_REST).commit();
return true;
case R.id.action_share:
String startTime = ISO8601Date.getTimeZoneDateString(ISO8601Date.getDateObject(session.getStartTime()));
String endTime = ISO8601Date.getTimeZoneDateString(ISO8601Date.getDateObject(session.getEndTime()));
StringBuilder shareText = new StringBuilder();
shareText.append(String.format("Session Track: %s \nTitle: %s \nStart Time: %s \nEnd Time: %s\n", trackName, title, startTime, endTime));
if (!result.toString().isEmpty()) {
shareText.append("\nDescription: ").append(result.toString());
} else {
shareText.append(getString(R.string.descriptionEmpty));
}
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, shareText.toString());
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, getString(R.string.share_links)));
return true;
case R.id.action_add_to_calendar:
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra(CalendarContract.Events.TITLE, title);
intent.putExtra(CalendarContract.Events.DESCRIPTION, session.getDescription());
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, ISO8601Date.getDateObject(session.getStartTime()).getTime());
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, ISO8601Date.getDateObject(session.getEndTime()).getTime());
startActivity(intent);
default:
}
return super.onOptionsItemSelected(item);
}Example 37
| Project: aesthetic-master File: EdgeGlowUtil.java View source code |
private static void invalidateNestedScrollViewFields() {
if (NESTED_SCROLL_VIEW_FIELD_EDGE_GLOW_TOP != null && NESTED_SCROLL_VIEW_FIELD_EDGE_GLOW_BOTTOM != null) {
NESTED_SCROLL_VIEW_FIELD_EDGE_GLOW_TOP.setAccessible(true);
NESTED_SCROLL_VIEW_FIELD_EDGE_GLOW_BOTTOM.setAccessible(true);
return;
}
Class cls = NestedScrollView.class;
for (Field f : cls.getDeclaredFields()) {
switch(f.getName()) {
case "mEdgeGlowTop":
f.setAccessible(true);
NESTED_SCROLL_VIEW_FIELD_EDGE_GLOW_TOP = f;
break;
case "mEdgeGlowBottom":
f.setAccessible(true);
NESTED_SCROLL_VIEW_FIELD_EDGE_GLOW_BOTTOM = f;
break;
}
}
}Example 38
| Project: anvil-master File: SupportCoreUiDSL.java View source code |
public boolean set(View v, String name, final Object arg, final Object old) {
switch(name) {
case "adapter":
if (v instanceof ViewPager && arg instanceof PagerAdapter) {
((ViewPager) v).setAdapter((PagerAdapter) arg);
return true;
}
break;
case "colorSchemeColors":
if (v instanceof SwipeRefreshLayout && arg instanceof int[]) {
((SwipeRefreshLayout) v).setColorSchemeColors((int[]) arg);
return true;
}
break;
case "colorSchemeResources":
if (v instanceof SwipeRefreshLayout && arg instanceof int[]) {
((SwipeRefreshLayout) v).setColorSchemeResources((int[]) arg);
return true;
}
break;
case "coveredFadeColor":
if (v instanceof SlidingPaneLayout && arg instanceof Integer) {
((SlidingPaneLayout) v).setCoveredFadeColor((int) arg);
return true;
}
break;
case "currentItem":
if (v instanceof ViewPager && arg instanceof Integer) {
((ViewPager) v).setCurrentItem((int) arg);
return true;
}
break;
case "distanceToTriggerSync":
if (v instanceof SwipeRefreshLayout && arg instanceof Integer) {
((SwipeRefreshLayout) v).setDistanceToTriggerSync((int) arg);
return true;
}
break;
case "drawFullUnderline":
if (v instanceof PagerTabStrip && arg instanceof Boolean) {
((PagerTabStrip) v).setDrawFullUnderline((boolean) arg);
return true;
}
break;
case "drawerElevation":
if (v instanceof DrawerLayout && arg instanceof Float) {
((DrawerLayout) v).setDrawerElevation((float) arg);
return true;
}
break;
case "drawerLockMode":
if (v instanceof DrawerLayout && arg instanceof Integer) {
((DrawerLayout) v).setDrawerLockMode((int) arg);
return true;
}
break;
case "fillViewport":
if (v instanceof NestedScrollView && arg instanceof Boolean) {
((NestedScrollView) v).setFillViewport((boolean) arg);
return true;
}
break;
case "gravity":
if (v instanceof PagerTitleStrip && arg instanceof Integer) {
((PagerTitleStrip) v).setGravity((int) arg);
return true;
}
break;
case "nestedScrollingEnabled":
if (v instanceof NestedScrollView && arg instanceof Boolean) {
((NestedScrollView) v).setNestedScrollingEnabled((boolean) arg);
return true;
}
if (v instanceof SwipeRefreshLayout && arg instanceof Boolean) {
((SwipeRefreshLayout) v).setNestedScrollingEnabled((boolean) arg);
return true;
}
break;
case "nonPrimaryAlpha":
if (v instanceof PagerTitleStrip && arg instanceof Float) {
((PagerTitleStrip) v).setNonPrimaryAlpha((float) arg);
return true;
}
break;
case "offscreenPageLimit":
if (v instanceof ViewPager && arg instanceof Integer) {
((ViewPager) v).setOffscreenPageLimit((int) arg);
return true;
}
break;
case "onChildScrollUpCallback":
if (v instanceof SwipeRefreshLayout && arg instanceof SwipeRefreshLayout.OnChildScrollUpCallback) {
((SwipeRefreshLayout) v).setOnChildScrollUpCallback((SwipeRefreshLayout.OnChildScrollUpCallback) arg);
return true;
}
break;
case "onRefresh":
if (v instanceof SwipeRefreshLayout && arg instanceof SwipeRefreshLayout.OnRefreshListener) {
if (arg != null) {
((SwipeRefreshLayout) v).setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
public void onRefresh() {
((SwipeRefreshLayout.OnRefreshListener) arg).onRefresh();
Anvil.render();
}
});
} else {
((SwipeRefreshLayout) v).setOnRefreshListener((SwipeRefreshLayout.OnRefreshListener) null);
}
return true;
}
break;
case "onScrollChange":
if (v instanceof NestedScrollView && arg instanceof NestedScrollView.OnScrollChangeListener) {
if (arg != null) {
((NestedScrollView) v).setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
public void onScrollChange(NestedScrollView a0, int a1, int a2, int a3, int a4) {
((NestedScrollView.OnScrollChangeListener) arg).onScrollChange(a0, a1, a2, a3, a4);
Anvil.render();
}
});
} else {
((NestedScrollView) v).setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) null);
}
return true;
}
break;
case "pageMargin":
if (v instanceof ViewPager && arg instanceof Integer) {
((ViewPager) v).setPageMargin((int) arg);
return true;
}
break;
case "pageMarginDrawable":
if (v instanceof ViewPager && arg instanceof Drawable) {
((ViewPager) v).setPageMarginDrawable((Drawable) arg);
return true;
}
if (v instanceof ViewPager && arg instanceof Integer) {
((ViewPager) v).setPageMarginDrawable((int) arg);
return true;
}
break;
case "panelSlideListener":
if (v instanceof SlidingPaneLayout && arg instanceof SlidingPaneLayout.PanelSlideListener) {
((SlidingPaneLayout) v).setPanelSlideListener((SlidingPaneLayout.PanelSlideListener) arg);
return true;
}
break;
case "parallaxDistance":
if (v instanceof SlidingPaneLayout && arg instanceof Integer) {
((SlidingPaneLayout) v).setParallaxDistance((int) arg);
return true;
}
break;
case "progressBackgroundColorSchemeColor":
if (v instanceof SwipeRefreshLayout && arg instanceof Integer) {
((SwipeRefreshLayout) v).setProgressBackgroundColorSchemeColor((int) arg);
return true;
}
break;
case "progressBackgroundColorSchemeResource":
if (v instanceof SwipeRefreshLayout && arg instanceof Integer) {
((SwipeRefreshLayout) v).setProgressBackgroundColorSchemeResource((int) arg);
return true;
}
break;
case "refreshing":
if (v instanceof SwipeRefreshLayout && arg instanceof Boolean) {
((SwipeRefreshLayout) v).setRefreshing((boolean) arg);
return true;
}
break;
case "scrimColor":
if (v instanceof DrawerLayout && arg instanceof Integer) {
((DrawerLayout) v).setScrimColor((int) arg);
return true;
}
break;
case "shadowDrawableLeft":
if (v instanceof SlidingPaneLayout && arg instanceof Drawable) {
((SlidingPaneLayout) v).setShadowDrawableLeft((Drawable) arg);
return true;
}
break;
case "shadowDrawableRight":
if (v instanceof SlidingPaneLayout && arg instanceof Drawable) {
((SlidingPaneLayout) v).setShadowDrawableRight((Drawable) arg);
return true;
}
break;
case "shadowResourceLeft":
if (v instanceof SlidingPaneLayout && arg instanceof Integer) {
((SlidingPaneLayout) v).setShadowResourceLeft((int) arg);
return true;
}
break;
case "shadowResourceRight":
if (v instanceof SlidingPaneLayout && arg instanceof Integer) {
((SlidingPaneLayout) v).setShadowResourceRight((int) arg);
return true;
}
break;
case "size":
if (v instanceof SwipeRefreshLayout && arg instanceof Integer) {
((SwipeRefreshLayout) v).setSize((int) arg);
return true;
}
break;
case "sliderFadeColor":
if (v instanceof SlidingPaneLayout && arg instanceof Integer) {
((SlidingPaneLayout) v).setSliderFadeColor((int) arg);
return true;
}
break;
case "smoothScrollingEnabled":
if (v instanceof NestedScrollView && arg instanceof Boolean) {
((NestedScrollView) v).setSmoothScrollingEnabled((boolean) arg);
return true;
}
break;
case "statusBarBackground":
if (v instanceof DrawerLayout && arg instanceof Drawable) {
((DrawerLayout) v).setStatusBarBackground((Drawable) arg);
return true;
}
if (v instanceof DrawerLayout && arg instanceof Integer) {
((DrawerLayout) v).setStatusBarBackground((int) arg);
return true;
}
break;
case "statusBarBackgroundColor":
if (v instanceof DrawerLayout && arg instanceof Integer) {
((DrawerLayout) v).setStatusBarBackgroundColor((int) arg);
return true;
}
break;
case "tabIndicatorColor":
if (v instanceof PagerTabStrip && arg instanceof Integer) {
((PagerTabStrip) v).setTabIndicatorColor((int) arg);
return true;
}
break;
case "tabIndicatorColorResource":
if (v instanceof PagerTabStrip && arg instanceof Integer) {
((PagerTabStrip) v).setTabIndicatorColorResource((int) arg);
return true;
}
break;
case "textColor":
if (v instanceof PagerTitleStrip && arg instanceof Integer) {
((PagerTitleStrip) v).setTextColor((int) arg);
return true;
}
break;
case "textSpacing":
if (v instanceof PagerTitleStrip && arg instanceof Integer) {
((PagerTitleStrip) v).setTextSpacing((int) arg);
return true;
}
break;
}
return false;
}Example 39
| Project: Chandelier-master File: ChandelierLayout.java View source code |
private void ensureTarget() {
// out yet.
if (target == null) {
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
if (!child.equals(ornamentLayout)) {
target = child;
break;
}
}
}
if (absListView == null) {
for (int i = 0; i < getChildCount(); i++) {
final View child = getChildAt(i);
if (child instanceof ScrollingView || child instanceof NestedScrollView) {
// TODO fix validation
absListView = child;
scrollListener.setParent(absListView);
if (absListView instanceof AbsListView) {
((AbsListView) absListView).setOnScrollListener(scrollListener);
} else if (absListView instanceof RecyclerView) {
((RecyclerView) absListView).addOnScrollListener(scrollListener);
}
absListView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (isShowingAction) {
onTouchEvent(event);
return true;
}
return false;
}
});
break;
}
}
}
}Example 40
| Project: platform_frameworks_support-master File: AlertController.java View source code |
private void setScrollIndicators(ViewGroup contentPanel, View content, final int indicators, final int mask) {
// Set up scroll indicators (if present).
View indicatorUp = mWindow.findViewById(R.id.scrollIndicatorUp);
View indicatorDown = mWindow.findViewById(R.id.scrollIndicatorDown);
if (Build.VERSION.SDK_INT >= 23) {
// We're on Marshmallow so can rely on the View APIs
ViewCompat.setScrollIndicators(content, indicators, mask);
// We can also remove the compat indicator views
if (indicatorUp != null) {
contentPanel.removeView(indicatorUp);
}
if (indicatorDown != null) {
contentPanel.removeView(indicatorDown);
}
} else {
// First, remove the indicator views if we're not set to use them
if (indicatorUp != null && (indicators & ViewCompat.SCROLL_INDICATOR_TOP) == 0) {
contentPanel.removeView(indicatorUp);
indicatorUp = null;
}
if (indicatorDown != null && (indicators & ViewCompat.SCROLL_INDICATOR_BOTTOM) == 0) {
contentPanel.removeView(indicatorDown);
indicatorDown = null;
}
if (indicatorUp != null || indicatorDown != null) {
final View top = indicatorUp;
final View bottom = indicatorDown;
if (mMessage != null) {
// We're just showing the ScrollView, set up listener.
mScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
manageScrollIndicators(v, top, bottom);
}
});
// Set up the indicators following layout.
mScrollView.post(new Runnable() {
@Override
public void run() {
manageScrollIndicators(mScrollView, top, bottom);
}
});
} else if (mListView != null) {
// We're just showing the AbsListView, set up listener.
mListView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView v, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
manageScrollIndicators(v, top, bottom);
}
});
// Set up the indicators following layout.
mListView.post(new Runnable() {
@Override
public void run() {
manageScrollIndicators(mListView, top, bottom);
}
});
} else {
// We don't have any content to scroll, remove the indicators.
if (top != null) {
contentPanel.removeView(top);
}
if (bottom != null) {
contentPanel.removeView(bottom);
}
}
}
}
}Example 41
| Project: calendula-master File: CalendarActivity.java View source code |
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calendar);
pats = DB.patients().findAll();
patient = DB.patients().getActive(this);
setupStatusBar(Color.TRANSPARENT);
setupToolbar("", Color.TRANSPARENT, Color.WHITE);
toolbar.setTitleTextColor(Color.WHITE);
appBarLayout = (AppBarLayout) findViewById(R.id.appbar);
toolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
titleCollapsedContainer = findViewById(R.id.collapsed_title_container);
topBg = findViewById(R.id.imageView5);
subtitle = (TextView) findViewById(R.id.routine_name);
title = (TextView) findViewById(R.id.routine_name_title);
avatar = (ImageView) findViewById(R.id.patient_avatar_title);
nestedScrollView = (NestedScrollView) findViewById(R.id.nestedScrollView);
df = getString(R.string.pickup_date_format);
from = DateTime.now().minusMonths(3);
to = DateTime.now().plusMonths(3);
bottomSheet = findViewById(R.id.pickup_list_container);
bottomSheet.setVisibility(View.INVISIBLE);
setupPatientSpinner();
onPatientUpdate();
findViewById(R.id.close_pickup_list).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hideBottomSheet();
}
});
checkIntent();
}Example 42
| Project: watchlist-master File: MovieDetailFragment.java View source code |
// Fragment lifecycle
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_movie_detail, container, false);
unbinder = ButterKnife.bind(this, v);
// Setup toolbar
toolbar.setTitle(R.string.loading);
toolbar.setOnMenuItemClickListener(this);
if (!isTablet) {
toolbar.setNavigationIcon(ContextCompat.getDrawable(getActivity(), R.drawable.action_home));
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getActivity().finish();
}
});
}
// Download movie details if new instance, else restore from saved instance
if (savedInstanceState == null || !(savedInstanceState.containsKey(WatchlistApp.MOVIE_ID) && savedInstanceState.containsKey(WatchlistApp.MOVIE_OBJECT))) {
id = getArguments().getString(WatchlistApp.MOVIE_ID);
if (TextUtil.isNullOrEmpty(id)) {
progressCircle.setVisibility(View.GONE);
toolbarTextHolder.setVisibility(View.GONE);
toolbar.setTitle("");
} else {
downloadMovieDetails(id);
}
} else {
id = savedInstanceState.getString(WatchlistApp.MOVIE_ID);
movie = savedInstanceState.getParcelable(WatchlistApp.MOVIE_OBJECT);
onDownloadSuccessful();
}
// Setup FAB
updateFABs();
movieHolder.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (oldScrollY < scrollY) {
floatingActionsMenu.hideMenuButton(true);
} else {
floatingActionsMenu.showMenuButton(true);
}
}
});
return v;
}Example 43
| Project: SuperSwipeRefreshLayout-master File: SuperSwipeRefreshLayout.java View source code |
/**
* 是否滑动到底部
*
* @return
*/
public boolean isChildScrollToBottom() {
if (isChildScrollToTop()) {
return false;
}
if (mTarget instanceof RecyclerView) {
RecyclerView recyclerView = (RecyclerView) mTarget;
LayoutManager layoutManager = recyclerView.getLayoutManager();
int count = recyclerView.getAdapter().getItemCount();
if (layoutManager instanceof LinearLayoutManager && count > 0) {
LinearLayoutManager linearLayoutManager = (LinearLayoutManager) layoutManager;
if (linearLayoutManager.findLastCompletelyVisibleItemPosition() == count - 1) {
return true;
}
} else if (layoutManager instanceof StaggeredGridLayoutManager) {
StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) layoutManager;
int[] lastItems = new int[2];
staggeredGridLayoutManager.findLastCompletelyVisibleItemPositions(lastItems);
int lastItem = Math.max(lastItems[0], lastItems[1]);
if (lastItem == count - 1) {
return true;
}
}
return false;
} else if (mTarget instanceof AbsListView) {
final AbsListView absListView = (AbsListView) mTarget;
int count = absListView.getAdapter().getCount();
int fristPos = absListView.getFirstVisiblePosition();
if (fristPos == 0 && absListView.getChildAt(0).getTop() >= absListView.getPaddingTop()) {
return false;
}
int lastPos = absListView.getLastVisiblePosition();
if (lastPos > 0 && count > 0 && lastPos == count - 1) {
return true;
}
return false;
} else if (mTarget instanceof ScrollView) {
ScrollView scrollView = (ScrollView) mTarget;
View view = (View) scrollView.getChildAt(scrollView.getChildCount() - 1);
if (view != null) {
int diff = (view.getBottom() - (scrollView.getHeight() + scrollView.getScrollY()));
if (diff == 0) {
return true;
}
}
} else if (mTarget instanceof NestedScrollView) {
NestedScrollView nestedScrollView = (NestedScrollView) mTarget;
View view = (View) nestedScrollView.getChildAt(nestedScrollView.getChildCount() - 1);
if (view != null) {
int diff = (view.getBottom() - (nestedScrollView.getHeight() + nestedScrollView.getScrollY()));
if (diff == 0) {
return true;
}
}
}
return false;
}Example 44
| Project: SeriesGuide-master File: MovieDetailsFragment.java View source code |
private void setupViews() {
final int decorationHeightPx;
if (AndroidUtils.isKitKatOrHigher()) {
// avoid overlap with status + action bar (adjust top margin)
// warning: status bar not always translucent (e.g. Nexus 10)
// (using fitsSystemWindows would not work correctly with multiple views)
SystemBarTintManager.SystemBarConfig config = ((MovieDetailsActivity) getActivity()).getSystemBarTintManager().getConfig();
int pixelInsetTop = config.getPixelInsetTop(false);
// action bar height is pre-set as top margin, add to it
decorationHeightPx = pixelInsetTop + contentContainerMovie.getPaddingTop();
contentContainerMovie.setPadding(0, decorationHeightPx, 0, 0);
// dual pane layout?
if (contentContainerMovieRight != null) {
contentContainerMovieRight.setPadding(0, decorationHeightPx, 0, 0);
}
} else {
// content container has actionBarSize top padding by default
decorationHeightPx = contentContainerMovie.getPaddingTop();
}
// show toolbar title and background when scrolling
final int defaultPaddingPx = getResources().getDimensionPixelSize(R.dimen.default_padding);
NestedScrollView.OnScrollChangeListener scrollChangeListener = new ToolbarScrollChangeListener(defaultPaddingPx, decorationHeightPx);
contentContainerMovie.setOnScrollChangeListener(scrollChangeListener);
if (contentContainerMovieRight != null) {
contentContainerMovieRight.setOnScrollChangeListener(scrollChangeListener);
}
}Example 45
| Project: Notepad-master File: TaskDetailFragment.java View source code |
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setHasOptionsMenu(true);
View rootView = inflater.inflate(R.layout.fragment_task_detail, container, false);
taskText = (StyledEditText) rootView.findViewById(R.id.taskText);
taskCompleted = (CheckBox) rootView.findViewById(R.id.taskCompleted);
dueDateBox = (Button) rootView.findViewById(R.id.dueDateBox);
notificationList = (LinearLayout) rootView.findViewById(R.id.notificationList);
taskSection = rootView.findViewById(R.id.taskSection);
editScrollView = (NestedScrollView) rootView.findViewById(R.id.editScrollView);
dueDateBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onDateClick();
}
});
rootView.findViewById(R.id.dueCancelButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onDueRemoveClick();
}
});
rootView.findViewById(R.id.notificationAdd).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onAddReminder();
}
});
setListeners();
return rootView;
}Example 46
| Project: QuickLyric-master File: LyricsViewFragment.java View source code |
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setRetainInstance(true);
setHasOptionsMenu(true);
View layout = inflater.inflate(R.layout.lyrics_view, container, false);
if (savedInstanceState != null)
try {
Lyrics l = Lyrics.fromBytes(savedInstanceState.getByteArray("lyrics"));
if (l != null)
this.mLyrics = l;
mSearchQuery = savedInstanceState.getString("searchQuery");
mSearchFocused = savedInstanceState.getBoolean("searchFocused");
} catch (IOExceptionClassNotFoundException | e) {
e.printStackTrace();
}
else {
Bundle args = getArguments();
if (args != null)
try {
Lyrics lyrics = Lyrics.fromBytes(args.getByteArray("lyrics"));
this.mLyrics = lyrics;
if (lyrics != null && lyrics.getText() == null && lyrics.getArtist() != null) {
String artist = lyrics.getArtist();
String track = lyrics.getTitle();
String url = lyrics.getURL();
fetchLyrics(artist, track, url);
mRefreshLayout = (SwipeRefreshLayout) layout.findViewById(R.id.refresh_layout);
startRefreshAnimation();
}
} catch (IOExceptionClassNotFoundException | e) {
e.printStackTrace();
}
}
if (layout != null) {
Bundle args = savedInstanceState != null ? savedInstanceState : getArguments();
boolean screenOn = PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean("pref_force_screen_on", false);
TextSwitcher textSwitcher = (TextSwitcher) layout.findViewById(R.id.switcher);
textSwitcher.setFactory(new LyricsTextFactory(layout.getContext()));
ActionMode.Callback callback = new CustomSelectionCallback(getActivity());
((TextView) textSwitcher.getChildAt(0)).setCustomSelectionActionModeCallback(callback);
((TextView) textSwitcher.getChildAt(1)).setCustomSelectionActionModeCallback(callback);
textSwitcher.setKeepScreenOn(screenOn);
layout.findViewById(R.id.lrc_view).setKeepScreenOn(screenOn);
EditText artistTV = (EditText) getActivity().findViewById(R.id.artist);
EditText songTV = (EditText) getActivity().findViewById(R.id.song);
if (args != null && args.containsKey("editedLyrics")) {
EditText editedLyrics = (EditText) layout.findViewById(R.id.edit_lyrics);
textSwitcher.setVisibility(View.GONE);
editedLyrics.setVisibility(View.VISIBLE);
songTV.setInputType(InputType.TYPE_CLASS_TEXT);
artistTV.setInputType(InputType.TYPE_CLASS_TEXT);
songTV.setBackgroundResource(R.drawable.abc_textfield_search_material);
artistTV.setBackgroundResource(R.drawable.abc_textfield_search_material);
editedLyrics.setText(args.getCharSequence("editedLyrics"), TextView.BufferType.EDITABLE);
songTV.setText(args.getCharSequence("editedTitle"), TextView.BufferType.EDITABLE);
artistTV.setText(args.getCharSequence("editedArtist"), TextView.BufferType.EDITABLE);
}
artistTV.setTypeface(LyricsTextFactory.FontCache.get("regular", getActivity()));
songTV.setTypeface(LyricsTextFactory.FontCache.get("medium", getActivity()));
final RefreshIcon refreshFab = (RefreshIcon) getActivity().findViewById(R.id.refresh_fab);
refreshFab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!mRefreshLayout.isRefreshing())
fetchCurrentLyrics(true);
}
});
if (args != null)
refreshFab.setEnabled(args.getBoolean("refreshFabEnabled", true));
mScrollView = (NestedScrollView) layout.findViewById(R.id.scrollview);
mRefreshLayout = (SwipeRefreshLayout) layout.findViewById(R.id.refresh_layout);
mRefreshLayout.setColorSchemeResources(ColorUtils.getPrimaryColorResource(getActivity()), ColorUtils.getAccentColorResource(getActivity()));
float offset = getResources().getDisplayMetrics().density * 64;
mRefreshLayout.setProgressViewEndTarget(true, (int) offset);
mRefreshLayout.setOnRefreshListener(this);
final ImageButton editTagsButton = (ImageButton) getActivity().findViewById(R.id.edit_tags_btn);
View.OnClickListener startEditClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
startEditTagsMode();
final View.OnClickListener startEditClickListener = this;
editTagsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
exitEditTagsMode();
editTagsButton.setOnClickListener(startEditClickListener);
}
});
}
};
editTagsButton.setOnClickListener(startEditClickListener);
if (mLyrics == null) {
if (!startEmpty)
fetchCurrentLyrics(false);
} else if (mLyrics.getFlag() == Lyrics.SEARCH_ITEM) {
mRefreshLayout = (SwipeRefreshLayout) layout.findViewById(R.id.refresh_layout);
startRefreshAnimation();
if (mLyrics.getArtist() != null)
fetchLyrics(mLyrics.getArtist(), mLyrics.getTitle());
((TextView) (getActivity().findViewById(R.id.artist))).setText(mLyrics.getArtist());
((TextView) (getActivity().findViewById(R.id.song))).setText(mLyrics.getTitle());
} else
//Rotation, resume
update(mLyrics, layout, false);
}
if (broadcastReceiver == null)
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
manualUpdateLock = false;
String artist = intent.getStringExtra("artist");
String track = intent.getStringExtra("track");
if (artist != null && track != null && mRefreshLayout.isEnabled()) {
startRefreshAnimation();
new ParseTask(LyricsViewFragment.this, false, true).execute(mLyrics);
}
}
};
return layout;
}Example 47
| Project: android-advancedrecyclerview-master File: RecyclerViewDragDropManager.java View source code |
@SuppressWarnings("unchecked")
private void startDragging(RecyclerView rv, MotionEvent e, RecyclerView.ViewHolder holder, ItemDraggableRange range, AdapterPath path, int wrappedItemPosition, Object composedAdapterTag) {
safeEndAnimation(rv, holder);
mHandler.cancelLongPressDetection();
mDraggingItemInfo = new DraggingItemInfo(rv, holder, mLastTouchX, mLastTouchY);
mDraggingItemViewHolder = holder;
// XXX if setIsRecyclable() is used, another view holder objects will be created
// which has the same ID with currently dragging item... Not works as expected.
// holder.setIsRecyclable(false);
mDraggableRange = range;
mRootDraggableRange = convertToRootAdapterRange(path, mDraggableRange);
NestedScrollView nestedScrollView = findAncestorNestedScrollView(mRecyclerView);
if (nestedScrollView != null && !mRecyclerView.isNestedScrollingEnabled()) {
mNestedScrollView = nestedScrollView;
} else {
mNestedScrollView = null;
}
mOrigOverScrollMode = rv.getOverScrollMode();
rv.setOverScrollMode(View.OVER_SCROLL_NEVER);
mLastTouchX = (int) (e.getX() + 0.5f);
mLastTouchY = (int) (e.getY() + 0.5f);
mNestedScrollViewScrollX = (mNestedScrollView != null) ? mNestedScrollView.getScrollX() : 0;
mNestedScrollViewScrollY = (mNestedScrollView != null) ? mNestedScrollView.getScrollY() : 0;
// disable auto scrolling until user moves the item
mDragStartTouchY = mDragMinTouchY = mDragMaxTouchY = mLastTouchY;
mDragStartTouchX = mDragMinTouchX = mDragMaxTouchX = mLastTouchX;
mScrollDirMask = SCROLL_DIR_NONE;
mCurrentItemMoveMode = mItemMoveMode;
mComposedAdapterTag = composedAdapterTag;
mRecyclerView.getParent().requestDisallowInterceptTouchEvent(true);
startScrollOnDraggingProcess();
// raise onDragItemStarted() event
mWrapperAdapter.onDragItemStarted(mDraggingItemInfo, holder, mDraggableRange, wrappedItemPosition, mCurrentItemMoveMode);
// setup decorators
mWrapperAdapter.onBindViewHolder(holder, wrappedItemPosition);
mDraggingItemDecorator = new DraggingItemDecorator(mRecyclerView, holder, mRootDraggableRange);
mDraggingItemDecorator.setShadowDrawable(mShadowDrawable);
mDraggingItemDecorator.setupDraggingItemEffects(mDraggingItemEffectsInfo);
mDraggingItemDecorator.start(mDraggingItemInfo, mLastTouchX, mLastTouchY);
final int layoutType = CustomRecyclerViewUtils.getLayoutType(mRecyclerView);
if (supportsViewTranslation() && !mCheckCanDrop && CustomRecyclerViewUtils.isLinearLayout(layoutType)) {
mSwapTargetItemOperator = new SwapTargetItemOperator(mRecyclerView, holder, mDraggingItemInfo);
mSwapTargetItemOperator.setSwapTargetTranslationInterpolator(mSwapTargetTranslationInterpolator);
mSwapTargetItemOperator.start();
mSwapTargetItemOperator.update(mDraggingItemDecorator.getDraggingItemTranslationX(), mDraggingItemDecorator.getDraggingItemTranslationY());
}
if (mEdgeEffectDecorator != null) {
mEdgeEffectDecorator.reorderToTop();
}
if (mItemDragEventListener != null) {
mItemDragEventListener.onItemDragStarted(mWrapperAdapter.getDraggingItemInitialPosition());
mItemDragEventListener.onItemDragMoveDistanceUpdated(0, 0);
}
}Example 48
| Project: aptoide-client-master File: AppViewActivity.java View source code |
private void bindViews(View view) {
mToolbar = (Toolbar) view.findViewById(R.id.toolbar);
mFeaturedGraphic = (ImageView) view.findViewById(R.id.featured_graphic);
mAppIcon = (ImageView) view.findViewById(R.id.app_icon);
mStoreView = (View) view.findViewById(R.id.store);
mStoreAvatar = (ImageView) view.findViewById(R.id.store_avatar);
mStoreName = (TextView) view.findViewById(R.id.store_name);
mStoreUsers = (TextView) view.findViewById(R.id.store_number_users);
mCollapsingToolbarLayout = (CollapsingToolbarLayout) view.findViewById(R.id.collapsing_toolbar);
mVersionName = (TextView) view.findViewById(R.id.versionName);
mDownloadsNumber = (TextView) view.findViewById(R.id.downloads_number);
mFileSize = (TextView) view.findViewById(R.id.file_size);
mRatingBarTop = (RatingBar) view.findViewById(R.id.rating_bar_top);
mRatingBar = (RatingBar) view.findViewById(R.id.ratingbar_appview);
mDescription = (TextView) view.findViewById(R.id.description);
mSeeMore = (TextView) view.findViewById(R.id.see_more_button);
mSeeMoreLayout = (LinearLayout) view.findViewById(R.id.see_more_layout);
mButtonInstall = (Button) view.findViewById(R.id.btn_install);
mContentView = (NestedScrollView) view.findViewById(R.id.scrollview_content);
mProgressBar = (ProgressBar) view.findViewById(R.id.progress);
mAppBarLayout = (AppBarLayout) view.findViewById(R.id.appbar);
layoutNoNetwork = (ScrollView) view.findViewById(R.id.no_network_connection);
layoutError = (ScrollView) view.findViewById(R.id.error);
layoutError410 = (ScrollView) view.findViewById(R.id.error410);
retryError = (TextView) view.findViewById(R.id.retry_error);
retryNoNetwork = (TextView) view.findViewById(R.id.retry_no_network);
recyclerComments = (RecyclerView) view.findViewById(R.id.appview_comments_list);
mSeeMoreComments = (TextView) view.findViewById(R.id.see_more_comments);
mLatestVersionLayout = (LinearLayout) view.findViewById(R.id.latestversion_layout);
mButtonGetLatest = (Button) view.findViewById(R.id.btn_get_latest);
mButtonUninstall = (Button) view.findViewById(R.id.btn_uninstall);
mButtonSubscribe = (Button) view.findViewById(R.id.btn_subscribe);
mTrustedLayout = (RelativeLayout) view.findViewById(R.id.trusted_layout);
mWarningLayout = (RelativeLayout) view.findViewById(R.id.warning_layout);
mUnknownLayoutt = (RelativeLayout) view.findViewById(R.id.unknown_layout);
badgeLayout = (RelativeLayout) view.findViewById(R.id.badge_layout);
mBadgeMarket = (ImageView) view.findViewById(R.id.iv_market_badge);
mBadgeSignature = (ImageView) view.findViewById(R.id.iv_signature_badge);
mBadgeFlag = (ImageView) view.findViewById(R.id.iv_flag_badge);
mBadgeAntiVirus = (ImageView) view.findViewById(R.id.iv_antivirus_badge);
mFlagsLayout = (LinearLayout) view.findViewById(R.id.flags_layout);
mButtonFlagThisApp = (Button) view.findViewById(R.id.btn_flag_this_app);
mArrow = (ImageView) view.findViewById(R.id.iv_arrow);
tvAgvRating = (TextView) view.findViewById(R.id.appview_avg_rating);
tvNumberRates = (TextView) view.findViewById(R.id.tv_number_of_rates);
progressBarRating5 = (ProgressBar) view.findViewById(R.id.appview_rating_bar5);
progressBarRating4 = (ProgressBar) view.findViewById(R.id.appview_rating_bar4);
progressBarRating3 = (ProgressBar) view.findViewById(R.id.appview_rating_bar3);
progressBarRating2 = (ProgressBar) view.findViewById(R.id.appview_rating_bar2);
progressBarRating1 = (ProgressBar) view.findViewById(R.id.appview_rating_bar1);
avgRatingBar = (RatingBar) view.findViewById(R.id.appview_rating_bar_avg);
tvNumberOfStarts5 = (TextView) view.findViewById(R.id.appview_rating_bar_rating_number5);
tvNumberOfStarts4 = (TextView) view.findViewById(R.id.appview_rating_bar_rating_number4);
tvNumberOfStarts3 = (TextView) view.findViewById(R.id.appview_rating_bar_rating_number3);
tvNumberOfStarts2 = (TextView) view.findViewById(R.id.appview_rating_bar_rating_number2);
tvNumberOfStarts1 = (TextView) view.findViewById(R.id.appview_rating_bar_rating_number1);
tvNumberGoodFlags = (TextView) view.findViewById(R.id.number_good_flags);
tvNumberFakeFlags = (TextView) view.findViewById(R.id.number_fake_flags);
tvNumberFreezeFlags = (TextView) view.findViewById(R.id.number_freeze_flags);
tvNumberLicenceFlags = (TextView) view.findViewById(R.id.number_licence_flags);
tvNumberVirusFlags = (TextView) view.findViewById(R.id.number_virus_flags);
manualReviewLayout = (View) view.findViewById(R.id.manual_reviewed_message_layout);
mInstallAndLatestVersionLayout = (LinearLayout) view.findViewById(R.id.install_and_latest_version_layout);
mDownloadProgressLayout = (RelativeLayout) view.findViewById(R.id.download_progress_layout);
mActionResume = (ImageView) view.findViewById(R.id.ic_action_resume);
mProgressText = (TextView) view.findViewById(R.id.text_progress);
mDownloadingProgress = (ProgressBar) view.findViewById(R.id.downloading_progress);
mMoreVersionsLayoutHeader = (RelativeLayout) view.findViewById(R.id.more_layout);
mMoreVersionsLayoutButton = (Button) view.findViewById(R.id.more);
mMoreVersionsTitle = (TextView) view.findViewById(R.id.title);
mWebsiteLabel = (TextView) view.findViewById(R.id.website_label);
mEmailLabel = (TextView) view.findViewById(R.id.email_label);
mPrivacyLabel = (TextView) view.findViewById(R.id.privacy_policy_label);
mPermissionsLabel = (TextView) view.findViewById(R.id.permissions_label);
mScreenshotsList = (RecyclerView) view.findViewById(R.id.screenshots_list);
mMoreVersionsList = (RecyclerView) view.findViewById(R.id.more_versions_recycler);
descriptionLines = view.getContext().getResources().getInteger(R.integer.minimum_description_lines);
}Example 49
| Project: AndroidLib-master File: RangeSeekBar.java View source code |
/**
* 防止引起父scrollView垂直方向抖动
*
* @param view
* @return
*/
public ViewGroup findScrollView(View view) {
if (view instanceof NestedScrollView) {
return (ViewGroup) view;
} else if (view == null)
return null;
else if (view.getParent() instanceof ViewGroup)
return findScrollView((View) view.getParent());
else
return null;
}