Search in sources :

Example 76 with END

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;
}
Also used : AppCompatDialog(android.support.v7.app.AppCompatDialog) NonNull(android.support.annotation.NonNull)

Example 77 with END

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();
}
Also used : RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View)

Example 78 with END

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;
        }
    }
}
Also used : RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View)

Example 79 with END

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();
}
Also used : ViewHolder(android.support.v7.widget.RecyclerView.ViewHolder) View(android.view.View) ProgressCardView(org.wikipedia.feed.progress.ProgressCardView)

Example 80 with END

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();
}
Also used : MyRecyclerAdatpter(org.yh.yhframe.adapter.rv.MyRecyclerAdatpter) YHRecyclerView(org.yh.library.view.YHRecyclerView) NavigationView(android.support.design.widget.NavigationView) ActionBarDrawerToggle(android.support.v7.app.ActionBarDrawerToggle) FloatingActionButton(android.support.design.widget.FloatingActionButton) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) NavigationView(android.support.design.widget.NavigationView) BindView(org.yh.library.ui.BindView) View(android.view.View) YHRecyclerView(org.yh.library.view.YHRecyclerView)

Aggregations

View (android.view.View)129 RecyclerView (android.support.v7.widget.RecyclerView)113 TextView (android.widget.TextView)35 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)25 ImageView (android.widget.ImageView)20 ArrayList (java.util.ArrayList)19 SuppressLint (android.annotation.SuppressLint)15 Intent (android.content.Intent)15 ViewGroup (android.view.ViewGroup)13 DialogInterface (android.content.DialogInterface)12 PreferenceScreen (android.support.v7.preference.PreferenceScreen)11 Toolbar (android.support.v7.widget.Toolbar)11 AdapterView (android.widget.AdapterView)11 OrientationHelperEx (com.alibaba.android.vlayout.OrientationHelperEx)10 List (java.util.List)10 AlertDialog (android.support.v7.app.AlertDialog)9 Context (android.content.Context)8 ActionBar (android.support.v7.app.ActionBar)8 ListView (android.widget.ListView)8 VirtualLayoutManager (com.alibaba.android.vlayout.VirtualLayoutManager)8