Search in sources :

Example 21 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project smooth-app-bar-layout by henrytao-me.

the class SmoothScrollActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_smooth_scroll);
    ButterKnife.bind(this);
    setSupportActionBar(vToolbar);
    vToolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });
    mAdapter = new DynamicAdapter<>(Utils.getSampleData());
    RecyclerView.Adapter adapter = new SimpleRecyclerViewAdapter(mAdapter) {

        @Override
        public RecyclerView.ViewHolder onCreateFooterViewHolder(LayoutInflater layoutInflater, ViewGroup viewGroup) {
            return null;
        }

        @Override
        public RecyclerView.ViewHolder onCreateHeaderViewHolder(LayoutInflater layoutInflater, ViewGroup viewGroup) {
            return new HeaderHolder(layoutInflater, viewGroup, R.layout.item_header_spacing);
        }
    };
    vRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    vRecyclerView.setAdapter(adapter);
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) {

        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
            mAdapter.remove((int) viewHolder.itemView.getTag(R.id.tag_position));
        }
    });
    itemTouchHelper.attachToRecyclerView(vRecyclerView);
}
Also used : ViewGroup(android.view.ViewGroup) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) HeaderHolder(me.henrytao.recyclerview.holder.HeaderHolder) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) SimpleRecyclerViewAdapter(me.henrytao.recyclerview.SimpleRecyclerViewAdapter) LayoutInflater(android.view.LayoutInflater) RecyclerView(android.support.v7.widget.RecyclerView)

Example 22 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project smooth-app-bar-layout by henrytao-me.

the class SmoothScrollExitUntilCollapsedActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_smooth_scroll_exit_until_collapsed);
    ButterKnife.bind(this);
    setSupportActionBar(vToolbar);
    vToolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });
    mAdapter = new DynamicAdapter<>(Utils.getSampleData());
    RecyclerView.Adapter adapter = new SimpleRecyclerViewAdapter(mAdapter) {

        @Override
        public RecyclerView.ViewHolder onCreateFooterViewHolder(LayoutInflater layoutInflater, ViewGroup viewGroup) {
            return null;
        }

        @Override
        public RecyclerView.ViewHolder onCreateHeaderViewHolder(LayoutInflater layoutInflater, ViewGroup viewGroup) {
            return new HeaderHolder(layoutInflater, viewGroup, R.layout.item_header_spacing);
        }
    };
    vRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    vRecyclerView.setAdapter(adapter);
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) {

        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
            mAdapter.remove((int) viewHolder.itemView.getTag(R.id.tag_position));
        }
    });
    itemTouchHelper.attachToRecyclerView(vRecyclerView);
}
Also used : ViewGroup(android.view.ViewGroup) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) HeaderHolder(me.henrytao.recyclerview.holder.HeaderHolder) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) SimpleRecyclerViewAdapter(me.henrytao.recyclerview.SimpleRecyclerViewAdapter) LayoutInflater(android.view.LayoutInflater) RecyclerView(android.support.v7.widget.RecyclerView)

Example 23 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project smooth-app-bar-layout by henrytao-me.

the class SmoothScrollParallaxActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_smooth_scroll_parallax);
    ButterKnife.bind(this);
    // This is important for making activity under status_bar. It also can be done theme.
    ResourceUtils.enableTranslucentStatus(this);
    setSupportActionBar(vToolbar);
    vToolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });
    mAdapter = new DynamicAdapter<>(Utils.getSampleData());
    RecyclerView.Adapter adapter = new SimpleRecyclerViewAdapter(mAdapter) {

        @Override
        public RecyclerView.ViewHolder onCreateFooterViewHolder(LayoutInflater layoutInflater, ViewGroup viewGroup) {
            return null;
        }

        @Override
        public RecyclerView.ViewHolder onCreateHeaderViewHolder(LayoutInflater layoutInflater, ViewGroup viewGroup) {
            return new HeaderHolder(layoutInflater, viewGroup, R.layout.item_header_spacing_with_fit_system_windows);
        }
    };
    vRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    vRecyclerView.setAdapter(adapter);
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) {

        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
            mAdapter.remove((int) viewHolder.itemView.getTag(R.id.tag_position));
        }
    });
    itemTouchHelper.attachToRecyclerView(vRecyclerView);
}
Also used : ViewGroup(android.view.ViewGroup) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) HeaderHolder(me.henrytao.recyclerview.holder.HeaderHolder) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) SimpleRecyclerViewAdapter(me.henrytao.recyclerview.SimpleRecyclerViewAdapter) LayoutInflater(android.view.LayoutInflater) RecyclerView(android.support.v7.widget.RecyclerView)

Example 24 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project MusicDNA by harjot-oberai.

the class FavouritesFragment method onViewCreated.

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    backBtn = (ImageView) view.findViewById(R.id.fav_back_btn);
    backBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            getActivity().onBackPressed();
        }
    });
    fragIcon = (ImageView) view.findViewById(R.id.fav_frag_icon);
    fragIcon.setImageTintList(ColorStateList.valueOf(HomeActivity.themeColor));
    fragTitle = (TextView) view.findViewById(R.id.fav_fragment_title);
    if (SplashActivity.tf4 != null)
        fragTitle.setTypeface(SplashActivity.tf4);
    addToQueueIcon = (ImageView) view.findViewById(R.id.add_fav_to_queue_icon);
    addToQueueIcon.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mCallback.addFavToQueue();
        }
    });
    backdrop = (ImageView) view.findViewById(R.id.fav_backdrop);
    if (HomeActivity.favouriteTracks.getFavourite().size() > 0) {
        UnifiedTrack ut = HomeActivity.favouriteTracks.getFavourite().get(0);
        if (ut.getType()) {
            LocalTrack lt = ut.getLocalTrack();
            imgLoader.DisplayImage(lt.getPath(), backdrop);
        } else {
            Track t = ut.getStreamTrack();
            Picasso.with(getContext()).load(t.getArtworkURL()).resize(100, 100).error(R.drawable.ic_default).placeholder(R.drawable.ic_default).into(backdrop);
        }
    }
    bottomMarginLayout = view.findViewById(R.id.bottom_margin_layout);
    if (HomeActivity.isReloaded)
        bottomMarginLayout.getLayoutParams().height = 0;
    else
        bottomMarginLayout.getLayoutParams().height = CommonUtils.dpTopx(65, getContext());
    favouriteRecycler = (RecyclerView) view.findViewById(R.id.favouriteRecycler);
    noFavouriteContent = (LinearLayout) view.findViewById(R.id.noFavouriteContent);
    playAll = (FloatingActionButton) view.findViewById(R.id.fav_play_all_fab);
    if (SplashActivity.tf4 != null)
        ((TextView) view.findViewById(R.id.favNoContentText)).setTypeface(SplashActivity.tf4);
    if (HomeActivity.favouriteTracks.getFavourite().size() == 0) {
        favouriteRecycler.setVisibility(View.INVISIBLE);
        playAll.setVisibility(View.INVISIBLE);
        noFavouriteContent.setVisibility(View.VISIBLE);
    } else {
        favouriteRecycler.setVisibility(View.VISIBLE);
        playAll.setVisibility(View.VISIBLE);
        noFavouriteContent.setVisibility(View.INVISIBLE);
    }
    fAdapter = new FavouriteTrackAdapter(HomeActivity.favouriteTracks.getFavourite(), this, getContext());
    mLayoutManager2 = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
    favouriteRecycler.setLayoutManager(mLayoutManager2);
    favouriteRecycler.setItemAnimator(new DefaultItemAnimator());
    favouriteRecycler.setAdapter(fAdapter);
    favouriteRecycler.addOnItemTouchListener(new ClickItemTouchListener(favouriteRecycler) {

        @Override
        public boolean onClick(RecyclerView parent, View view, int position, long id) {
            mCallback.onFavouriteItemClicked(position);
            return true;
        }

        @Override
        public boolean onLongClick(RecyclerView parent, View view, int position, long id) {
            return true;
        }

        @Override
        public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
        }
    });
    if (HomeActivity.favouriteTracks.getFavourite().size() == 0) {
        playAll.setVisibility(View.INVISIBLE);
    } else {
        playAll.setVisibility(View.VISIBLE);
    }
    playAll.setBackgroundTintList(ColorStateList.valueOf(HomeActivity.themeColor));
    playAll.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (HomeActivity.favouriteTracks.getFavourite().size() > 0) {
                HomeActivity.queue.getQueue().clear();
                for (int i = 0; i < HomeActivity.favouriteTracks.getFavourite().size(); i++) {
                    HomeActivity.queue.getQueue().add(HomeActivity.favouriteTracks.getFavourite().get(i));
                }
                HomeActivity.queueCurrentIndex = 0;
                mCallback.onFavouritePlayAll();
            }
        }
    });
    ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(fAdapter);
    mItemTouchHelper = new ItemTouchHelper(callback);
    mItemTouchHelper.attachToRecyclerView(favouriteRecycler);
}
Also used : SimpleItemTouchHelperCallback(com.sdsmdg.harjot.MusicDNA.itemtouchhelpers.SimpleItemTouchHelperCallback) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) ImageView(android.widget.ImageView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) DefaultItemAnimator(android.support.v7.widget.DefaultItemAnimator) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) RecyclerView(android.support.v7.widget.RecyclerView) ClickItemTouchListener(com.sdsmdg.harjot.MusicDNA.clickitemtouchlistener.ClickItemTouchListener) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) Track(com.sdsmdg.harjot.MusicDNA.models.Track)

Example 25 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project MusicDNA by harjot-oberai.

the class QueueFragment method onViewCreated.

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    backBtn = (ImageView) view.findViewById(R.id.queue_back_btn);
    backBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            getActivity().onBackPressed();
        }
    });
    fragTitle = (TextView) view.findViewById(R.id.queue_fragment_title);
    if (SplashActivity.tf4 != null)
        fragTitle.setTypeface(SplashActivity.tf4);
    clearText = (TextView) view.findViewById(R.id.queue_clear_text);
    clearText.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mCallback.onQueueClear();
        }
    });
    queueRecycler = (RecyclerView) view.findViewById(R.id.queueRecycler);
    qAdapter = new QueueRecyclerAdapter(HomeActivity.queue.getQueue(), getContext(), this);
    mLayoutManager2 = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
    queueRecycler.setLayoutManager(mLayoutManager2);
    queueRecycler.setItemAnimator(new DefaultItemAnimator());
    queueRecycler.setAdapter(qAdapter);
    queueRecycler.addOnItemTouchListener(new ClickItemTouchListener(queueRecycler) {

        @Override
        public boolean onClick(RecyclerView parent, View view, int position, long id) {
            mCallback.onQueueItemClicked(position);
            return true;
        }

        @Override
        public boolean onLongClick(RecyclerView parent, View view, int position, long id) {
            return true;
        }

        @Override
        public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
        }
    });
    saveQueue = (FloatingActionButton) view.findViewById(R.id.save_queue);
    saveQueue.setBackgroundTintList(ColorStateList.valueOf(HomeActivity.themeColor));
    saveQueue.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mCallback.onQueueSave();
        }
    });
    ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(qAdapter);
    mItemTouchHelper = new ItemTouchHelper(callback);
    mItemTouchHelper.attachToRecyclerView(queueRecycler);
    Button mEndButton = new Button(getContext());
    mEndButton.setBackgroundColor(HomeActivity.themeColor);
    mEndButton.setTextColor(Color.WHITE);
    showCase = new ShowcaseView.Builder(getActivity()).blockAllTouches().singleShot(3).setStyle(R.style.CustomShowcaseTheme).useDecorViewAsParent().replaceEndButton(mEndButton).setContentTitlePaint(HomeActivity.tp).setTarget(new ViewTarget(R.id.queue_alt_showcase, getActivity())).setContentTitle("Queue").setContentText("Here all songs that are currently in queue are listed." + " Use handle to reorder the Queue and swipe the song to remove from queue").build();
    showCase.setButtonText("Next");
    showCase.setButtonPosition(HomeActivity.lps);
    showCase.overrideButtonClick(new View.OnClickListener() {

        int count1 = 0;

        @Override
        public void onClick(View v) {
            count1++;
            switch(count1) {
                case 1:
                    RelativeLayout.LayoutParams lps = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
                    lps.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
                    lps.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
                    int margin = ((Number) (getResources().getDisplayMetrics().density * 12)).intValue();
                    lps.setMargins(margin, margin, margin, 5 + HomeActivity.navBarHeightSizeinDp);
                    showCase.setButtonPosition(lps);
                    showCase.setTarget(new ViewTarget(saveQueue.getId(), getActivity()));
                    showCase.setContentTitle("Save Queue");
                    showCase.setContentText("Save the queue as a playlist");
                    showCase.setButtonText("Done");
                    break;
                case 2:
                    showCase.hide();
                    break;
            }
        }
    });
}
Also used : SimpleItemTouchHelperCallback(com.sdsmdg.harjot.MusicDNA.itemtouchhelpers.SimpleItemTouchHelperCallback) ViewTarget(com.github.amlcurran.showcaseview.targets.ViewTarget) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) ImageView(android.widget.ImageView) ShowcaseView(com.github.amlcurran.showcaseview.ShowcaseView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) DefaultItemAnimator(android.support.v7.widget.DefaultItemAnimator) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) Button(android.widget.Button) FloatingActionButton(android.support.design.widget.FloatingActionButton) RelativeLayout(android.widget.RelativeLayout) RecyclerView(android.support.v7.widget.RecyclerView) ClickItemTouchListener(com.sdsmdg.harjot.MusicDNA.clickitemtouchlistener.ClickItemTouchListener) ShowcaseView(com.github.amlcurran.showcaseview.ShowcaseView)

Aggregations

ItemTouchHelper (android.support.v7.widget.helper.ItemTouchHelper)124 RecyclerView (android.support.v7.widget.RecyclerView)93 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)84 View (android.view.View)67 TextView (android.widget.TextView)25 ImageView (android.widget.ImageView)24 ViewGroup (android.view.ViewGroup)20 Toolbar (android.support.v7.widget.Toolbar)16 LayoutInflater (android.view.LayoutInflater)14 SearchView (android.support.v7.widget.SearchView)12 Intent (android.content.Intent)11 DefaultItemAnimator (android.support.v7.widget.DefaultItemAnimator)11 DialogInterface (android.content.DialogInterface)10 Canvas (android.graphics.Canvas)9 Bundle (android.os.Bundle)9 BindView (butterknife.BindView)9 Nullable (android.support.annotation.Nullable)8 FloatingActionButton (android.support.design.widget.FloatingActionButton)8 ArrayList (java.util.ArrayList)8 Context (android.content.Context)7