Search in sources :

Example 36 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project android_frameworks_base by DirtyUnicorns.

the class NavBarTuner method onViewCreated.

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    RecyclerView recyclerView = (RecyclerView) view.findViewById(android.R.id.list);
    final Context context = getContext();
    recyclerView.setLayoutManager(new LinearLayoutManager(context));
    mNavBarAdapter = new NavBarAdapter(context);
    recyclerView.setAdapter(mNavBarAdapter);
    recyclerView.addItemDecoration(new Dividers(context));
    final ItemTouchHelper itemTouchHelper = new ItemTouchHelper(mNavBarAdapter.mCallbacks);
    mNavBarAdapter.setTouchHelper(itemTouchHelper);
    itemTouchHelper.attachToRecyclerView(recyclerView);
    TunerService.get(getContext()).addTunable(this, NAV_BAR_VIEWS);
}
Also used : Context(android.content.Context) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) RecyclerView(android.support.v7.widget.RecyclerView) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager)

Example 37 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project xabber-android by redsolution.

the class AccountListActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_account_list);
    toolbar = (Toolbar) findViewById(R.id.toolbar_default);
    toolbar.setNavigationIcon(R.drawable.ic_clear_white_24dp);
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            NavUtils.navigateUpFromSameTask(AccountListActivity.this);
        }
    });
    toolbar.setTitle(R.string.title_reordering_account);
    toolbar.inflateMenu(R.menu.toolbar_account_list);
    toolbar.setOnMenuItemClickListener(this);
    barPainter = new BarPainter(this, toolbar);
    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.account_list_recycler_view);
    tvSummary = (TextView) findViewById(R.id.tvSummary);
    accountListAdapter = new AccountListReorderAdapter(this, this);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recyclerView.setAdapter(accountListAdapter);
    ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(accountListAdapter);
    touchHelper = new ItemTouchHelper(callback);
    touchHelper.attachToRecyclerView(recyclerView);
}
Also used : ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) SimpleItemTouchHelperCallback(com.xabber.android.ui.widget.SimpleItemTouchHelperCallback) RecyclerView(android.support.v7.widget.RecyclerView) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) AccountListReorderAdapter(com.xabber.android.ui.adapter.AccountListReorderAdapter) BarPainter(com.xabber.android.ui.color.BarPainter)

Example 38 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project Shuttle by timusus.

the class TabChooserDialog method getDialog.

public static MaterialDialog getDialog(Activity activity) {
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(activity);
    ViewModelAdapter adapter = new ViewModelAdapter();
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelperCallback(adapter::moveItem, (fromPosition, toPosition) -> {
    }, () -> {
    }));
    TabViewModel.Listener listener = new TabViewModel.Listener() {

        @Override
        public void onStartDrag(TabViewModel.ViewHolder holder) {
            itemTouchHelper.startDrag(holder);
        }

        @Override
        public void onFolderChecked(TabViewModel tabViewModel, TabViewModel.ViewHolder viewHolder) {
            if (!ShuttleUtils.isUpgraded()) {
                viewHolder.checkBox.setChecked(false);
                tabViewModel.categoryItem.isChecked = false;
                UpgradeDialog.getUpgradeDialog(activity).show();
            }
        }
    };
    List<ViewModel> items = Stream.of(CategoryItem.getCategoryItems(sharedPreferences)).map(categoryItem -> {
        TabViewModel tabViewModel = new TabViewModel(categoryItem);
        tabViewModel.setListener(listener);
        return tabViewModel;
    }).collect(Collectors.toList());
    adapter.setItems(items);
    RecyclerView recyclerView = new RecyclerView(activity);
    recyclerView.setLayoutManager(new LinearLayoutManager(activity));
    recyclerView.setAdapter(adapter);
    itemTouchHelper.attachToRecyclerView(recyclerView);
    return new MaterialDialog.Builder(activity).title(R.string.pref_title_choose_tabs).customView(recyclerView, false).positiveText(R.string.button_done).onPositive((dialog, which) -> {
        SharedPreferences.Editor editor = sharedPreferences.edit();
        Stream.of(adapter.items).indexed().forEach(viewModelIntPair -> {
            ((TabViewModel) viewModelIntPair.getSecond()).categoryItem.sortOrder = viewModelIntPair.getFirst();
            ((TabViewModel) viewModelIntPair.getSecond()).categoryItem.savePrefs(editor);
        });
        LocalBroadcastManager.getInstance(activity).sendBroadcast(new Intent(LibraryController.EVENT_TABS_CHANGED));
    }).negativeText(R.string.close).build();
}
Also used : R(com.simplecity.amp_library.R) ItemTouchHelperCallback(com.simplecity.amp_library.ui.recyclerview.ItemTouchHelperCallback) Collectors(com.annimon.stream.Collectors) Stream(com.annimon.stream.Stream) ViewModelAdapter(com.simplecityapps.recycler_adapter.adapter.ViewModelAdapter) Intent(android.content.Intent) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) ViewModel(com.simplecityapps.recycler_adapter.model.ViewModel) LocalBroadcastManager(android.support.v4.content.LocalBroadcastManager) CategoryItem(com.simplecity.amp_library.model.CategoryItem) TabViewModel(com.simplecity.amp_library.ui.modelviews.TabViewModel) RecyclerView(android.support.v7.widget.RecyclerView) List(java.util.List) SharedPreferences(android.content.SharedPreferences) LibraryController(com.simplecity.amp_library.ui.fragments.LibraryController) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) PreferenceManager(android.preference.PreferenceManager) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) Activity(android.app.Activity) ShuttleUtils(com.simplecity.amp_library.utils.ShuttleUtils) SharedPreferences(android.content.SharedPreferences) Intent(android.content.Intent) ViewModel(com.simplecityapps.recycler_adapter.model.ViewModel) TabViewModel(com.simplecity.amp_library.ui.modelviews.TabViewModel) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) ItemTouchHelperCallback(com.simplecity.amp_library.ui.recyclerview.ItemTouchHelperCallback) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) TabViewModel(com.simplecity.amp_library.ui.modelviews.TabViewModel) RecyclerView(android.support.v7.widget.RecyclerView) ViewModelAdapter(com.simplecityapps.recycler_adapter.adapter.ViewModelAdapter)

Example 39 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project Shuttle by timusus.

the class PlaylistDetailFragment method onCreateView.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = super.onCreateView(inflater, container, savedInstanceState);
    itemTouchHelper = new ItemTouchHelper(new ItemTouchHelperCallback((fromPosition, toPosition) -> adapter.moveItem(fromPosition, toPosition), (fromPosition, toPosition) -> {
        SongView from = (SongView) adapter.items.get(fromPosition);
        SongView to = (SongView) adapter.items.get(toPosition);
        List<SongView> songViews = Stream.of(adapter.items).filter(itemView -> itemView instanceof SongView).map(itemView -> ((SongView) itemView)).toList();
        int adjustedFrom = IntStream.range(0, songViews.size()).filter(i -> from.equals(songViews.get(i))).findFirst().orElse(-1);
        int adjustedTo = IntStream.range(0, songViews.size()).filter(i -> to.equals(songViews.get(i))).findFirst().orElse(-1);
        if (adjustedFrom != -1 && adjustedTo != -1) {
            playlist.moveSong(adjustedFrom, adjustedTo);
        }
    }, () -> {
    // Nothing to do
    }) {

        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            if (viewHolder.getItemViewType() == target.getItemViewType()) {
                return super.onMove(recyclerView, viewHolder, target);
            }
            return false;
        }
    });
    itemTouchHelper.attachToRecyclerView(recyclerView);
    return rootView;
}
Also used : ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) R(com.simplecity.amp_library.R) Context(android.content.Context) Bundle(android.os.Bundle) Album(com.simplecity.amp_library.model.Album) Stream(com.annimon.stream.Stream) SongView(com.simplecity.amp_library.ui.modelviews.SongView) ViewModel(com.simplecityapps.recycler_adapter.model.ViewModel) NonNull(android.support.annotation.NonNull) Drawable(android.graphics.drawable.Drawable) Single(io.reactivex.Single) MenuItem(android.view.MenuItem) Song(com.simplecity.amp_library.model.Song) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) MenuUtils(com.simplecity.amp_library.utils.MenuUtils) View(android.view.View) PlaceholderProvider(com.simplecity.amp_library.utils.PlaceholderProvider) ItemTouchHelperCallback(com.simplecity.amp_library.ui.recyclerview.ItemTouchHelperCallback) SortManager(com.simplecity.amp_library.utils.SortManager) LayoutInflater(android.view.LayoutInflater) Playlist(com.simplecity.amp_library.model.Playlist) ViewGroup(android.view.ViewGroup) RecyclerView(android.support.v7.widget.RecyclerView) List(java.util.List) Toolbar(android.support.v7.widget.Toolbar) ComparisonUtils(com.simplecity.amp_library.utils.ComparisonUtils) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) Operators(com.simplecity.amp_library.utils.Operators) Collections(java.util.Collections) IntStream(com.annimon.stream.IntStream) SongView(com.simplecity.amp_library.ui.modelviews.SongView) RecyclerView(android.support.v7.widget.RecyclerView) SongView(com.simplecity.amp_library.ui.modelviews.SongView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) ItemTouchHelperCallback(com.simplecity.amp_library.ui.recyclerview.ItemTouchHelperCallback)

Example 40 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project Signal-Android by signalapp.

the class ConversationListFragment method onCreateView.

@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle bundle) {
    final View view = inflater.inflate(R.layout.conversation_list_fragment, container, false);
    reminderView = ViewUtil.findById(view, R.id.reminder);
    list = ViewUtil.findById(view, R.id.list);
    fab = ViewUtil.findById(view, R.id.fab);
    emptyState = ViewUtil.findById(view, R.id.empty_state);
    emptySearch = ViewUtil.findById(view, R.id.empty_search);
    if (archive)
        fab.setVisibility(View.GONE);
    else
        fab.setVisibility(View.VISIBLE);
    reminderView.setOnDismissListener(() -> updateReminders(true));
    list.setHasFixedSize(true);
    list.setLayoutManager(new LinearLayoutManager(getActivity()));
    list.setItemAnimator(new DeleteItemAnimator());
    list.addItemDecoration(new InsetDividerItemDecoration(getActivity()));
    new ItemTouchHelper(new ArchiveListenerCallback()).attachToRecyclerView(list);
    return view;
}
Also used : ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) View(android.view.View) TextView(android.widget.TextView) ReminderView(org.thoughtcrime.securesms.components.reminder.ReminderView) RecyclerView(android.support.v7.widget.RecyclerView) DeleteItemAnimator(org.thoughtcrime.securesms.components.recyclerview.DeleteItemAnimator)

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