use of android.support.v7.widget.helper.ItemTouchHelper.END in project mosby by sockeqwe.
the class StatisticsDialog method onCreateDialog.
//
// End delegates
//
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AppCompatDialog dialog = new AppCompatDialog(getActivity(), getTheme());
dialog.setTitle(R.string.menu_statistics);
return dialog;
}
use of android.support.v7.widget.helper.ItemTouchHelper.END in project RecyclerBanner by renjianan.
the class BannerLayoutManager method layoutItems.
private void layoutItems(RecyclerView.Recycler recycler) {
detachAndScrapAttachedViews(recycler);
positionCache.clear();
final int itemCount = getItemCount();
if (itemCount == 0)
return;
// make sure that current position start from 0 to 1
final int currentPos = mShouldReverseLayout ? -getCurrentPositionOffset() : getCurrentPositionOffset();
int start = currentPos - mLeftItems;
int end = currentPos + mRightItems;
// handle max visible count
if (useMaxVisibleCount()) {
boolean isEven = mMaxVisibleItemCount % 2 == 0;
if (isEven) {
int offset = mMaxVisibleItemCount / 2;
start = currentPos - offset + 1;
end = currentPos + offset + 1;
} else {
int offset = (mMaxVisibleItemCount - 1) / 2;
start = currentPos - offset;
end = currentPos + offset + 1;
}
}
if (!mInfinite) {
if (start < 0) {
start = 0;
if (useMaxVisibleCount())
end = mMaxVisibleItemCount;
}
if (end > itemCount)
end = itemCount;
}
float lastOrderWeight = Float.MIN_VALUE;
for (int i = start; i < end; i++) {
if (useMaxVisibleCount() || !removeCondition(getProperty(i) - mOffset)) {
// start and end base on current position,
// so we need to calculate the adapter position
int adapterPosition = i;
if (i >= itemCount) {
adapterPosition %= itemCount;
} else if (i < 0) {
int delta = (-adapterPosition) % itemCount;
if (delta == 0)
delta = itemCount;
adapterPosition = itemCount - delta;
}
final View scrap = recycler.getViewForPosition(adapterPosition);
measureChildWithMargins(scrap, 0, 0);
resetViewProperty(scrap);
// we need i to calculate the real offset of current view
final float targetOffset = getProperty(i) - mOffset;
layoutScrap(scrap, targetOffset);
final float orderWeight = mEnableBringCenterToFront ? setViewElevation(scrap, targetOffset) : adapterPosition;
if (orderWeight > lastOrderWeight) {
addView(scrap);
} else {
addView(scrap, 0);
}
if (i == currentPos)
currentFocusView = scrap;
lastOrderWeight = orderWeight;
positionCache.put(i, scrap);
}
}
currentFocusView.requestFocus();
}
use of android.support.v7.widget.helper.ItemTouchHelper.END in project RecyclerBanner by renjianan.
the class OverFlyingLayoutManager method layoutItems.
private void layoutItems(RecyclerView.Recycler recycler) {
detachAndScrapAttachedViews(recycler);
// make sure that current position start from 0 to 1
final int currentPos = mReverseLayout ? -getCurrentPositionOffset() : getCurrentPositionOffset();
int start = currentPos - mLeftItems;
int end = currentPos + mRightItems;
// handle max visible count
if (useMaxVisibleCount()) {
boolean isEven = mMaxVisibleItemCount % 2 == 0;
if (isEven) {
int offset = mMaxVisibleItemCount / 2;
start = currentPos - offset + 1;
end = currentPos + offset + 1;
} else {
int offset = (mMaxVisibleItemCount - 1) / 2;
start = currentPos - offset;
end = currentPos + offset + 1;
}
}
final int itemCount = getItemCount();
if (!mInfinite) {
if (start < 0) {
start = 0;
if (useMaxVisibleCount())
end = mMaxVisibleItemCount;
}
if (end > itemCount)
end = itemCount;
}
float lastOrderWeight = Float.MIN_VALUE;
for (int i = start; i < end; i++) {
if (useMaxVisibleCount() || !removeCondition(getProperty(i) - mOffset)) {
// start and end base on current position,
// so we need to calculate the adapter position
int adapterPosition = i;
if (i >= itemCount) {
adapterPosition %= itemCount;
} else if (i < 0) {
int delta = (-adapterPosition) % itemCount;
if (delta == 0)
delta = itemCount;
adapterPosition = itemCount - delta;
}
final View scrap = recycler.getViewForPosition(adapterPosition);
measureChildWithMargins(scrap, 0, 0);
resetViewProperty(scrap);
// we need i to calculate the real offset of current view
final float targetOffset = getProperty(i) - mOffset;
layoutScrap(scrap, targetOffset);
final float orderWeight = mEnableBringCenterToFront ? setViewElevation(scrap, targetOffset) : adapterPosition;
if (orderWeight > lastOrderWeight) {
addView(scrap);
} else {
addView(scrap, 0);
}
lastOrderWeight = orderWeight;
}
}
}
use of android.support.v7.widget.helper.ItemTouchHelper.END in project apps-android-wikipedia by wikimedia.
the class FeedItemAnimator method endAnimation.
@Override
public void endAnimation(ViewHolder item) {
final View view = item.itemView;
// this will trigger end callback which should set properties to their target values.
view.animate().cancel();
// TODO if some other animations are chained to end, how do we cancel them as well?
for (int i = mPendingMoves.size() - 1; i >= 0; i--) {
MoveInfo moveInfo = mPendingMoves.get(i);
if (moveInfo.holder == item) {
view.setTranslationY(0);
view.setTranslationX(0);
dispatchMoveFinished(item);
mPendingMoves.remove(i);
}
}
endChangeAnimation(mPendingChanges, item);
if (mPendingRemovals.remove(item)) {
view.setAlpha(1);
view.setTranslationY(0);
dispatchRemoveFinished(item);
}
if (mPendingAdditions.remove(item)) {
view.setAlpha(1);
view.setTranslationY(0);
dispatchAddFinished(item);
}
for (int i = mChangesList.size() - 1; i >= 0; i--) {
ArrayList<ChangeInfo> changes = mChangesList.get(i);
endChangeAnimation(changes, item);
if (changes.isEmpty()) {
mChangesList.remove(i);
}
}
for (int i = mMovesList.size() - 1; i >= 0; i--) {
ArrayList<MoveInfo> moves = mMovesList.get(i);
for (int j = moves.size() - 1; j >= 0; j--) {
MoveInfo moveInfo = moves.get(j);
if (moveInfo.holder == item) {
view.setTranslationY(0);
view.setTranslationX(0);
dispatchMoveFinished(item);
moves.remove(j);
if (moves.isEmpty()) {
mMovesList.remove(i);
}
break;
}
}
}
for (int i = mAdditionsList.size() - 1; i >= 0; i--) {
ArrayList<ViewHolder> additions = mAdditionsList.get(i);
if (additions.remove(item)) {
view.setAlpha(1);
view.setTranslationY(0);
dispatchAddFinished(item);
if (additions.isEmpty()) {
mAdditionsList.remove(i);
}
}
}
// noinspection PointlessBooleanExpression,ConstantConditions
if (mRemoveAnimations.remove(item) && DEBUG) {
throw new IllegalStateException("after animation is cancelled, item should not be in " + "mRemoveAnimations list");
}
// noinspection PointlessBooleanExpression,ConstantConditions
if (mAddAnimations.remove(item) && DEBUG) {
throw new IllegalStateException("after animation is cancelled, item should not be in " + "mAddAnimations list");
}
// noinspection PointlessBooleanExpression,ConstantConditions
if (mChangeAnimations.remove(item) && DEBUG) {
throw new IllegalStateException("after animation is cancelled, item should not be in " + "mChangeAnimations list");
}
// noinspection PointlessBooleanExpression,ConstantConditions
if (mMoveAnimations.remove(item) && DEBUG) {
throw new IllegalStateException("after animation is cancelled, item should not be in " + "mMoveAnimations list");
}
dispatchFinishedWhenDone();
}
use of android.support.v7.widget.helper.ItemTouchHelper.END in project YhLibraryForAndroid by android-coco.
the class DemoActivity method initWidget.
@Override
public void initWidget() {
super.initWidget();
changeFragment(R.id.content, oneFragment);
FloatingActionButton fab = bindView(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();
}
});
drawer = bindView(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
// 禁止手势滑动
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
// 打开手势滑动
// drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
toggle.syncState();
// 导航图标
// toolbar.setNavigationIcon(R.mipmap.ic_launcher);
NavigationView navigationView = bindView(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
navigationView.getMenu().getItem(0).setChecked(true);
// NavigationView navigationView1 =bindView(R.id.nav_view1);
// navigationView1.setNavigationItemSelectedListener(this);
// navigationView1.getMenu().getItem(0).setChecked(true);
// lineartlayout
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
// CardView
// 两列
// int spanCount = 3;
// GridLayoutManager layoutManager = new GridLayoutManager(this,spanCount);
// layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
// StaggeredGridLayoutManager 不能加分割线
// StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(spanCount,
// StaggeredGridLayoutManager.VERTICAL);
// 分割线为LinearLayoutManager
// 分割线
mRecyclerView.addItemDecoration(mRecyclerView.new YHItemDecoration());
mRecyclerView.setLayoutManager(layoutManager);
// mRecyclerView.setEmptyView(empty_layout);//没有数据的空布局
// 可以自定义下拉刷新的样式
mRecyclerView.setRefreshProgressStyle(ProgressStyle.BallPulseRise);
// 可以自定义上拉加载的样式
mRecyclerView.setLoadingMoreProgressStyle(ProgressStyle.SquareSpin);
mRecyclerView.setFootViewText(getString(R.string.listview_loading), "我是有底线的。");
// 箭头
mRecyclerView.setArrowImageView(R.mipmap.iconfont_downgrey);
// View header = LayoutInflater.from(this).inflate(R.layout.recyclerview_header, (ViewGroup)findViewById(android.R.id.content),false);
// mRecyclerView.addHeaderView(header);
// View header1 = LayoutInflater.from(this).inflate(R.layout.recyclerview_header, (ViewGroup)findViewById(android.R.id.content),false);
// mRecyclerView.addHeaderView(header1);
// header1.setBackgroundColor(0xff556B2F);
// View header2 = LayoutInflater.from(this).inflate(R.layout.recyclerview_header, (ViewGroup)findViewById(android.R.id.content),false);
// mRecyclerView.addHeaderView(header2);
// header2.setBackgroundColor(0xff1874CD);
mAdapter = new MyRecyclerAdatpter();
mRecyclerView.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(this);
mRecyclerView.setLoadingListener(new YHRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
page = 1;
// 必须在数据更新前清空,不能太早
mAdapter.getDatas().clear();
getDataByLine();
}
@Override
public void onLoadMore() {
page++;
if (page <= TOTAL_PAGE) {
// 小于总页数就加载更多
// loading more
getDataByLine();
} else {
// the end
mRecyclerView.setNoMore(true);
}
}
});
mRecyclerView.refresh();
}
Aggregations