Search in sources :

Example 71 with LinearLayoutManager

use of android.support.v7.widget.LinearLayoutManager in project remusic by aa112901.

the class SearchMusicFragment method onCreateView.

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.recylerview, container, false);
    if (getArguments() != null) {
        songInfos = getArguments().getParcelableArrayList("searchMusic");
    }
    recyclerView = (RecyclerView) view.findViewById(R.id.recyclerview);
    layoutManager = new LinearLayoutManager(mContext);
    recyclerView.setLayoutManager(layoutManager);
    mAdapter = new MusicAdapter(songInfos);
    recyclerView.setAdapter(mAdapter);
    recyclerView.setHasFixedSize(true);
    recyclerView.addItemDecoration(new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL_LIST));
    return view;
}
Also used : LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) DividerItemDecoration(com.wm.remusic.widget.DividerItemDecoration) ImageView(android.widget.ImageView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) Nullable(android.support.annotation.Nullable)

Example 72 with LinearLayoutManager

use of android.support.v7.widget.LinearLayoutManager in project actor-platform by actorapp.

the class BlockedListFragment method onCreateView.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View res = inflater.inflate(R.layout.fragment_recycler_list, container, false);
    list = (RecyclerView) res.findViewById(R.id.listView);
    list.setLayoutManager(new LinearLayoutManager(getActivity()));
    emptyView = (TextView) res.findViewById(R.id.emptyView);
    emptyView.setText(R.string.blocked_loading);
    res.setBackgroundColor(ActorSDK.sharedActor().style.getBackyardBackgroundColor());
    emptyView.setTextColor(ActorSDK.sharedActor().style.getTextSecondaryColor());
    adapter = new BlockedAdapter(new ArrayList<User>(), new BlockedAdapter.OnBlockedClickListener() {

        @Override
        public void onClick(UserVM u) {
            execute(messenger().unblockUser(u.getId()).then(new Consumer<Void>() {

                @Override
                public void apply(Void aVoid) {
                    checkBlockedList();
                }
            }));
        }
    });
    list.setAdapter(adapter);
    checkBlockedList();
    return res;
}
Also used : UserVM(im.actor.core.viewmodel.UserVM) Consumer(im.actor.runtime.function.Consumer) ArrayList(java.util.ArrayList) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) Void(im.actor.runtime.actors.messages.Void) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) View(android.view.View)

Example 73 with LinearLayoutManager

use of android.support.v7.widget.LinearLayoutManager in project actor-platform by actorapp.

the class StickersView method buildAdapter.

private void buildAdapter(Context context) {
    GridLayoutManager layoutManager = new GridLayoutManager(context, Screen.getWidth() / Screen.dp(70));
    setLayoutManager(layoutManager);
    stickersAdapter = new StickersAdapter(keyboard, this);
    setAdapter(stickersAdapter);
    RecyclerView packSwitch = new RecyclerView(context);
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context, HORIZONTAL, false);
    packSwitch.setLayoutManager(linearLayoutManager);
    packSwitch.setItemAnimator(null);
    packSwitch.setHasFixedSize(true);
    PacksAdapter packsAdapter = new PacksAdapter(context, stickersAdapter, keyboard.getStickerIndicatorContainer());
    packSwitch.setAdapter(packsAdapter);
    stickersAdapter.setPacksAdapter(packsAdapter);
    keyboard.getStickerIndicatorContainer().removeAllViews();
    keyboard.getStickerIndicatorContainer().addView(packSwitch, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
}
Also used : GridLayoutManager(android.support.v7.widget.GridLayoutManager) RecyclerView(android.support.v7.widget.RecyclerView) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager)

Example 74 with LinearLayoutManager

use of android.support.v7.widget.LinearLayoutManager in project NewPipe by TeamNewPipe.

the class ChannelActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ThemeHelper.setTheme(this, true);
    setContentView(R.layout.activity_channel);
    rootView = findViewById(android.R.id.content);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(true);
    infoListAdapter = new InfoListAdapter(this, rootView);
    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.channel_streams_view);
    final LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(layoutManager);
    header = getLayoutInflater().inflate(R.layout.channel_header, recyclerView, false);
    infoListAdapter.setHeader(header);
    infoListAdapter.setFooter(getLayoutInflater().inflate(R.layout.pignate_footer, recyclerView, false));
    recyclerView.setAdapter(infoListAdapter);
    infoListAdapter.setOnStreamInfoItemSelectedListener(new InfoItemBuilder.OnInfoItemSelectedListener() {

        @Override
        public void selected(String url, int serviceId) {
            NavStack.getInstance().openDetailActivity(ChannelActivity.this, url, serviceId);
        }
    });
    // detect if list has ben scrolled to the bottom
    recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {

        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            int pastVisiblesItems, visibleItemCount, totalItemCount;
            super.onScrolled(recyclerView, dx, dy);
            if (//check for scroll down
            dy > 0) {
                visibleItemCount = layoutManager.getChildCount();
                totalItemCount = layoutManager.getItemCount();
                pastVisiblesItems = layoutManager.findFirstVisibleItemPosition();
                if ((visibleItemCount + pastVisiblesItems) >= totalItemCount && !isLoading && hasNextPage) {
                    pageNumber++;
                    requestData(true);
                }
            }
        }
    });
    subS = getString(R.string.subscriber);
    progressBar = (ProgressBar) findViewById(R.id.progressBar);
    channelBanner = (ImageView) header.findViewById(R.id.channel_banner_image);
    avatarView = (ImageView) header.findViewById(R.id.channel_avatar_view);
    titleView = (TextView) header.findViewById(R.id.channel_title_view);
    subscirberView = (TextView) header.findViewById(R.id.channel_subscriber_view);
    subscriberButton = (Button) header.findViewById(R.id.channel_subscribe_button);
    subscriberLayout = header.findViewById(R.id.channel_subscriber_layout);
    if (savedInstanceState == null) {
        handleIntent(getIntent());
    } else {
        channelUrl = savedInstanceState.getString(NavStack.URL);
        serviceId = savedInstanceState.getInt(NavStack.SERVICE_ID);
        NavStack.getInstance().restoreSavedInstanceState(savedInstanceState);
        handleIntent(getIntent());
    }
}
Also used : InfoItemBuilder(org.schabi.newpipe.info_list.InfoItemBuilder) InfoListAdapter(org.schabi.newpipe.info_list.InfoListAdapter) RecyclerView(android.support.v7.widget.RecyclerView) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager)

Example 75 with LinearLayoutManager

use of android.support.v7.widget.LinearLayoutManager in project Reader by TheKeeperOfPie.

the class FragmentProfile method onCreateView.

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    view = inflater.inflate(R.layout.fragment_profile, container, false);
    layoutCoordinator = (CoordinatorLayout) view.findViewById(R.id.layout_coordinator);
    layoutAppBar = (AppBarLayout) view.findViewById(R.id.layout_app_bar);
    listener = new ControllerProfile.Listener() {

        @Override
        public void setSortAndTime(Sort sort, Time time) {
            menu.findItem(sort.getMenuId()).setChecked(true);
            menu.findItem(time.getMenuId()).setChecked(true);
            itemSortTime.setTitle(getString(R.string.time_description, menu.findItem(controllerProfile.getTime().getMenuId()).toString()));
        }

        @Override
        public void setPage(Page page) {
            spinnerPage.setSelection(adapterProfilePage.getPages().indexOf(page));
            if (page.getPage().equals(ControllerProfile.PAGE_HIDDEN)) {
                callback.setDrawable(getResources().getDrawable(R.drawable.ic_visibility_white_24dp));
            } else {
                callback.setDrawable(getResources().getDrawable(R.drawable.ic_visibility_off_white_24dp));
            }
        }

        @Override
        public void setIsUser(boolean isUser) {
            // TODO: Fix set page for Profile view
            adapterProfilePage.setIsUser(isUser);
        }

        @Override
        public void loadLink(Comment comment) {
            Log.d(TAG, "Link ID: " + comment.getLinkId());
            Intent intent = new Intent(activity, ActivityMain.class);
            intent.setAction(Intent.ACTION_VIEW);
            intent.putExtra(ActivityMain.REDDIT_PAGE, Reddit.BASE_URL + "/r/" + comment.getSubreddit() + "/comments/" + comment.getLinkId().replace("t3_", ""));
            startActivity(intent);
        }

        @Override
        public RecyclerView.Adapter getAdapter() {
            return adapterProfile;
        }

        @Override
        public void setToolbarTitle(CharSequence title) {
            toolbar.setTitle(title);
        }

        @Override
        public void setRefreshing(boolean refreshing) {
            swipeRefreshProfile.setRefreshing(refreshing);
        }

        @Override
        public void post(Runnable runnable) {
            recyclerProfile.post(runnable);
        }
    };
    int styleColorBackground = AppSettings.THEME_DARK.equals(mListener.getThemeBackground()) ? R.style.MenuDark : R.style.MenuLight;
    ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(new ThemeWrapper(activity, UtilsColor.getThemeForColor(getResources(), themer.getColorPrimary(), mListener)), styleColorBackground);
    toolbar = (Toolbar) activity.getLayoutInflater().cloneInContext(contextThemeWrapper).inflate(R.layout.toolbar, layoutAppBar, false);
    layoutAppBar.addView(toolbar);
    ((AppBarLayout.LayoutParams) toolbar.getLayoutParams()).setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS);
    if (getFragmentManager().getBackStackEntryCount() <= 1) {
        toolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                mListener.openDrawer();
            }
        });
    } else {
        toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                mListener.onNavigationBackClick();
            }
        });
    }
    toolbar.getNavigationIcon().mutate().setColorFilter(themer.getColorFilterPrimary());
    toolbar.setTitleTextColor(themer.getColorFilterPrimary().getColor());
    setUpOptionsMenu();
    adapterProfilePage = new AdapterProfilePage(activity);
    spinnerPage = new AppCompatSpinner(contextThemeWrapper);
    toolbar.addView(spinnerPage);
    ((Toolbar.LayoutParams) spinnerPage.getLayoutParams()).setMarginEnd((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8, getResources().getDisplayMetrics()));
    spinnerPage.setAdapter(adapterProfilePage);
    spinnerPage.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            controllerProfile.setPage(adapterProfilePage.getItem(position)).subscribe(getReloadObserver());
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });
    swipeRefreshProfile = (SwipeRefreshLayout) view.findViewById(R.id.swipe_refresh_profile);
    swipeRefreshProfile.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

        @Override
        public void onRefresh() {
            controllerProfile.reload().subscribe(getReloadObserver());
        }
    });
    linearLayoutManager = new LinearLayoutManager(activity);
    recyclerProfile = (RecyclerView) view.findViewById(R.id.recycler_profile);
    recyclerProfile.setHasFixedSize(true);
    recyclerProfile.setItemAnimator(null);
    recyclerProfile.setLayoutManager(linearLayoutManager);
    recyclerProfile.addItemDecoration(new ItemDecorationDivider(activity, ItemDecorationDivider.VERTICAL_LIST));
    AdapterListener adapterListener = new AdapterListener() {

        @Override
        public void scrollAndCenter(int position, int height) {
            UtilsAnimation.scrollToPositionWithCentering(position, recyclerProfile, false);
        }

        @Override
        public void hideToolbar() {
            AppBarLayout.Behavior behaviorAppBar = (AppBarLayout.Behavior) ((CoordinatorLayout.LayoutParams) layoutAppBar.getLayoutParams()).getBehavior();
            behaviorAppBar.onNestedFling(layoutCoordinator, layoutAppBar, null, 0, 1000, true);
        }

        @Override
        public void clearDecoration() {
            AppBarLayout.Behavior behaviorAppBar = (AppBarLayout.Behavior) ((CoordinatorLayout.LayoutParams) layoutAppBar.getLayoutParams()).getBehavior();
            behaviorAppBar.onNestedFling(layoutCoordinator, layoutAppBar, null, 0, 1000, true);
        }

        @Override
        public void requestMore() {
            controllerProfile.loadMoreLinks().observeOn(AndroidSchedulers.mainThread()).subscribe(new ObserverError<Listing>() {

                @Override
                public void onError(Throwable e) {
                    Toast.makeText(getContext(), getString(R.string.error_loading_links), Toast.LENGTH_SHORT).show();
                }
            });
        }

        @Override
        public void requestDisallowInterceptTouchEventVertical(boolean disallow) {
            recyclerProfile.requestDisallowInterceptTouchEvent(disallow);
            swipeRefreshProfile.requestDisallowInterceptTouchEvent(disallow);
            itemTouchHelper.select(null, CustomItemTouchHelper.ACTION_STATE_IDLE);
        }

        @Override
        public void requestDisallowInterceptTouchEventHorizontal(boolean disallow) {
            itemTouchHelper.setDisallow(disallow);
        }
    };
    AdapterLink.ViewHolderLink.Listener listenerLink = new AdapterLink.ViewHolderLink.Listener() {

        @Override
        public void onSubmitComment(Link link, String text) {
        }

        @Override
        public void onDownloadImage(Link link) {
        }

        @Override
        public void onDownloadImage(Link link, String title, String fileName, String url) {
        }

        @Override
        public void onLoadUrl(Link link, boolean forceExternal) {
        }

        @Override
        public void onShowFullEditor(Link link) {
        }

        @Override
        public void onVote(Link link, AdapterLink.ViewHolderLink viewHolderLink, Likes vote) {
        }

        @Override
        public void onCopyText(Link link) {
        }

        @Override
        public void onEdit(Link link) {
        }

        @Override
        public void onDelete(Link link) {
        }

        @Override
        public void onReport(Link link) {
        }

        @Override
        public void onSave(Link link) {
        }

        @Override
        public void onShowComments(Link link, AdapterLink.ViewHolderLink viewHolderLink, Source source) {
        }

        @Override
        public void onShowError(String error) {
        }

        @Override
        public void onMarkNsfw(Link link) {
        }
    };
    AdapterCommentList.ViewHolderComment.Listener listenerComments = new AdapterCommentList.ViewHolderComment.Listener() {

        @Override
        public void onToggleComment(Comment comment) {
        }

        @Override
        public void onShowReplyEditor(Comment comment) {
        }

        @Override
        public void onEditComment(Comment comment, String text) {
        }

        @Override
        public void onSendComment(Comment comment, String text) {
        }

        @Override
        public void onMarkRead(Comment comment) {
        }

        @Override
        public void onLoadNestedComments(Comment comment) {
        }

        @Override
        public void onJumpToParent(Comment comment) {
        }

        @Override
        public void onViewProfile(Comment comment) {
        }

        @Override
        public void onCopyText(Comment comment) {
        }

        @Override
        public void onDeleteComment(Comment comment) {
        }

        @Override
        public void onReport(Comment comment) {
        }

        @Override
        public void onVoteComment(Comment comment, AdapterCommentList.ViewHolderComment viewHolderComment, Likes vote) {
        }

        @Override
        public void onSave(Comment comment) {
        }
    };
    if (adapterProfile == null) {
        adapterProfile = new AdapterProfile(getActivity(), controllerProfile, adapterListener, listenerLink, listenerComments, listener);
    }
    recyclerProfile.setAdapter(adapterProfile);
    callback = new CustomItemTouchHelper.SimpleCallback(activity, R.drawable.ic_delete_white_24dp, ItemTouchHelper.START | ItemTouchHelper.END, ItemTouchHelper.START | ItemTouchHelper.END) {

        @Override
        public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
            int position = viewHolder.getAdapterPosition();
            if (position == 2 || (position >= 6 && controllerProfile.getViewType(position - 6) == ControllerProfile.VIEW_TYPE_LINK)) {
                return super.getSwipeDirs(recyclerView, viewHolder);
            }
            return 0;
        }

        @Override
        public boolean isLongPressDragEnabled() {
            return false;
        }

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

        @Override
        public void onSwiped(final RecyclerView.ViewHolder viewHolder, int direction) {
            Log.d(TAG, "onSwiped: " + viewHolder.getAdapterPosition());
            final int adapterPosition = viewHolder.getAdapterPosition();
            final int position = adapterPosition == 2 ? -1 : adapterPosition - 6;
            final Link link = adapterPosition == 2 ? controllerProfile.remove(-1) : controllerProfile.remove(position);
            mListener.getEventListenerBase().hide(link);
            if (snackbar != null) {
                snackbar.dismiss();
            }
            SpannableString text = new SpannableString(link.isHidden() ? getString(R.string.link_hidden) : getString(R.string.link_shown));
            text.setSpan(new ForegroundColorSpan(themer.getColorFilterPrimary().getColor()), 0, text.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
            //noinspection ResourceType
            snackbar = Snackbar.make(recyclerProfile, text, UtilsAnimation.SNACKBAR_DURATION).setActionTextColor(themer.getColorFilterPrimary().getColor()).setAction(R.string.undo, new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    mListener.getEventListenerBase().hide(link);
                    if (adapterPosition == 2) {
                        controllerProfile.setTopLink(link);
                        adapterProfile.notifyItemChanged(2);
                    } else {
                        controllerProfile.add(position, link);
                    }
                    recyclerProfile.invalidate();
                }
            });
            snackbar.getView().setBackgroundColor(themer.getColorPrimary());
            snackbar.show();
        }
    };
    itemTouchHelper = new CustomItemTouchHelper(callback);
    itemTouchHelper.attachToRecyclerView(recyclerProfile);
    return view;
}
Also used : ItemDecorationDivider(com.winsonchiu.reader.utils.ItemDecorationDivider) AdapterLink(com.winsonchiu.reader.links.AdapterLink) Page(com.winsonchiu.reader.data.Page) SpannableString(android.text.SpannableString) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) SwipeRefreshLayout(android.support.v4.widget.SwipeRefreshLayout) Sort(com.winsonchiu.reader.data.reddit.Sort) AppBarLayout(android.support.design.widget.AppBarLayout) ForegroundColorSpan(android.text.style.ForegroundColorSpan) AppCompatSpinner(android.support.v7.widget.AppCompatSpinner) SpannableString(android.text.SpannableString) AdapterView(android.widget.AdapterView) AdapterLink(com.winsonchiu.reader.links.AdapterLink) Link(com.winsonchiu.reader.data.reddit.Link) AdapterListener(com.winsonchiu.reader.adapter.AdapterListener) Time(com.winsonchiu.reader.data.reddit.Time) Source(com.winsonchiu.reader.comments.Source) ContextThemeWrapper(android.view.ContextThemeWrapper) ThemeWrapper(com.winsonchiu.reader.theme.ThemeWrapper) AdapterCommentList(com.winsonchiu.reader.comments.AdapterCommentList) ActivityMain(com.winsonchiu.reader.ActivityMain) CustomItemTouchHelper(com.winsonchiu.reader.utils.CustomItemTouchHelper) Comment(com.winsonchiu.reader.data.reddit.Comment) AdapterListener(com.winsonchiu.reader.adapter.AdapterListener) Intent(android.content.Intent) SearchView(android.support.v7.widget.SearchView) ImageView(android.widget.ImageView) View(android.view.View) AdapterView(android.widget.AdapterView) RecyclerView(android.support.v7.widget.RecyclerView) CoordinatorLayout(android.support.design.widget.CoordinatorLayout) ContextThemeWrapper(android.view.ContextThemeWrapper) Listing(com.winsonchiu.reader.data.reddit.Listing) RecyclerView(android.support.v7.widget.RecyclerView) Likes(com.winsonchiu.reader.data.reddit.Likes)

Aggregations

LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1976 RecyclerView (android.support.v7.widget.RecyclerView)1085 View (android.view.View)822 TextView (android.widget.TextView)352 DefaultItemAnimator (android.support.v7.widget.DefaultItemAnimator)235 ArrayList (java.util.ArrayList)204 ImageView (android.widget.ImageView)186 Intent (android.content.Intent)150 Toolbar (android.support.v7.widget.Toolbar)134 DividerItemDecoration (android.support.v7.widget.DividerItemDecoration)131 GridLayoutManager (android.support.v7.widget.GridLayoutManager)125 BindView (butterknife.BindView)124 Bundle (android.os.Bundle)109 SwipeRefreshLayout (android.support.v4.widget.SwipeRefreshLayout)105 Nullable (android.support.annotation.Nullable)98 ViewGroup (android.view.ViewGroup)82 Context (android.content.Context)81 ItemTouchHelper (android.support.v7.widget.helper.ItemTouchHelper)80 AdapterView (android.widget.AdapterView)70 List (java.util.List)69