@Override public void setRecyclerView(RecyclerView recyclerView) { recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 3)); recyclerView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); ((SimpleItemAnimator)recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); int i = getResources().getDisplayMetrics().widthPixels; int y = DensityUtil.dp2px(getContext(), 90); int p = DensityUtil.dp2px(getContext(), 15); int padding = (3 * y + 2 * 3 * p + 2 * p - i) / (2 * 3); recyclerView.setPadding( padding, DensityUtil.dp2px(getContext(), 8), padding, DensityUtil.dp2px(getContext(), 8) ); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 实例化控件 final RecyclerView rv = (RecyclerView) findViewById(R.id.rv); // 设置启动列表的修改动画效果(默认为关闭状态) 23.0.1以后使用方法,23.0.1之前用setSupportsChangeAnimations方法 RecyclerView.ItemAnimator animator = rv.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); } // 设置动画时长 rv.getItemAnimator().setChangeDuration(300); rv.getItemAnimator().setMoveDuration(300); // 实现RecyclerView实现竖向列表展示模式 final LinearLayoutManager layoutManager = new LinearLayoutManager(this); rv.setLayoutManager(layoutManager); // 实例化数据适配器并绑定在控件上 final MainAdapter adapter = new MainAdapter(); rv.setAdapter(adapter); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notification); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); recyclerView = findViewById(R.id.notification_recycler_view); notifications = new LinkedList<>(); LinearLayoutManager llm = new LinearLayoutManager(this); recyclerView.setLayoutManager(llm); //To prevent onBindViewHolder to be called twice on onClick ((SimpleItemAnimator)recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); notifAdapter = new NotificationAdapter(this, notifications); recyclerView.setAdapter(notifAdapter); }
private void createRecyclerView() { rvMonths = new SlowdownRecyclerView(getContext()); rvMonths.setId(View.generateViewId()); rvMonths.setHasFixedSize(true); rvMonths.setNestedScrollingEnabled(false); ((SimpleItemAnimator) rvMonths.getItemAnimator()).setSupportsChangeAnimations(false); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.BELOW, llDaysOfWeekTitles.getId()); rvMonths.setLayoutParams(params); rvMonths.setLayoutManager(new GridLayoutManager(getContext(), 1, settingsManager.getCalendarOrientation(), false)); monthAdapter = createAdapter(); changeSnapHelper(); rvMonths.setAdapter(monthAdapter); rvMonths.scrollToPosition(SettingsManager.DEFAULT_MONTH_COUNT / 2); rvMonths.addOnScrollListener(pagingScrollListener); rvMonths.getRecycledViewPool().setMaxRecycledViews(ItemViewType.MONTH, 10); addView(rvMonths); }
/** * Sets adapter for MessagesList * * @param adapter Adapter. Must extend MessagesListAdapter * @param reverseLayout weather to use reverse layout for layout manager. * @param <MESSAGE> Message model class */ public <MESSAGE extends IMessage> void setAdapter(MessagesListAdapter<MESSAGE> adapter, boolean reverseLayout) { SimpleItemAnimator itemAnimator = new DefaultItemAnimator(); itemAnimator.setSupportsChangeAnimations(false); LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, reverseLayout); setItemAnimator(itemAnimator); setLayoutManager(layoutManager); adapter.setLayoutManager(layoutManager); adapter.setStyle(messagesListStyle); addOnScrollListener(new RecyclerScrollMoreListener(layoutManager, adapter)); super.setAdapter(adapter); }
@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_dialogs, container, false); mLayoutManager = new LinearLayoutManager(getActivity()); recyclerView = (RecyclerView) view.findViewById(R.id.dialogs_recycler); recyclerView.setLayoutManager(mLayoutManager); ((SimpleItemAnimator)recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.dialogs_swipe_refresh_layout); swipeRefreshLayout.setOnRefreshListener(this); setHasOptionsMenu(true); return view; }
/** * Returns an inflated image list view. * <br> * Call {@link #initializeList(ImageListProvider)} to initialize the list view and display the first page of a list. */ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) throws IllegalStateException { View v = inflater.inflate(R.layout.fragment_image_list, container, false); ButterKnife.bind(this, v); /* disable item change animations for image interactions */ ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); mSavedInstanceState = savedInstanceState; mImageListPresenter = new PaginatedListPresenter<DerpibooruImageThumb>(refreshLayout, recyclerView) { @Override public RecyclerViewPaginationAdapter<DerpibooruImageThumb, ?> getNewInstanceOfListAdapter(List<DerpibooruImageThumb> initialItems) { return getNewInstanceOfImageListAdapter(initialItems); } }; return v; }
@UiThread(propagation = UiThread.Propagation.REUSE) protected void setListAdapter( List<InstalledApp> items ) { if (mRecyclerView == null || mBus == null) { return; } mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); if (new UpdaterOptions(getContext()).disableAnimations()) { mRecyclerView.setItemAnimator(null); } else { ((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false); } mRecyclerView.setAdapter(new InstalledAppAdapter(getContext(), mRecyclerView, items)); mBus.post(new InstalledAppTitleChange(getString(R.string.tab_installed) + " (" + items.size() + ")")); }
@UiThread(propagation = UiThread.Propagation.REUSE) protected void setListAdapter( @NonNull List<InstalledApp> items ) { if (mRecyclerView == null || mBus == null || mProgressBar == null) { return; } mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); if (new UpdaterOptions(getContext()).disableAnimations()) { mRecyclerView.setItemAnimator(null); } else { ((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false); } mAdapter.init(getActivity(), mRecyclerView, items); mRecyclerView.setAdapter(mAdapter); mBus.post(new SearchTitleChange(getString(R.string.tab_search) + " (" + items.size() + ")")); mProgressBar.setVisibility(View.GONE); }
@AfterViews void init( ) { mAdapter.init(mRecyclerView, new ArrayList<Update>()); mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); if (new UpdaterOptions(getContext()).disableAnimations()) { mRecyclerView.setItemAnimator(null); } else { ((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false); } mRecyclerView.setAdapter(mAdapter); // Load data loadData(); initProgressBar(); }
/** * Set adapter for MessageList. * * @param adapter Adapter, extends MsgListAdapter. * @param <MESSAGE> Message model extends IMessage. */ public <MESSAGE extends IMessage> void setAdapter(MsgListAdapter<MESSAGE> adapter) { mAdapter = adapter; SimpleItemAnimator itemAnimator = new DefaultItemAnimator(); itemAnimator.setSupportsChangeAnimations(false); setItemAnimator(itemAnimator); LinearLayoutManager layoutManager = new LinearLayoutManager( getContext(), LinearLayoutManager.VERTICAL, true); layoutManager.setStackFromEnd(true); setLayoutManager(layoutManager); adapter.setLayoutManager(layoutManager); adapter.setStyle(mContext, mMsgListStyle); mScrollMoreListener = new ScrollMoreListener(layoutManager, adapter); addOnScrollListener(mScrollMoreListener); super.setAdapter(adapter); }
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_apple_calendar); setTitle("2016"); rvCalendar = (RecyclerView) findViewById(R.id.rvCalendar); rvCalendar.setLayoutManager(new LinearLayoutManager(this)); ((SimpleItemAnimator) rvCalendar.getItemAnimator()).setSupportsChangeAnimations(false); List<SCMonth> months = SCDateUtils.generateMonths(2016, 2016); rvCalendar.setAdapter(new CalendarAdpater(months)); selector = new CalendarSelector(months, SingleMonthSelector.SEGMENT); selector.setSegmentSelectListener(new SegmentSelectListener() { @Override public void onSegmentSelect(FullDay startDay, FullDay endDay) { // TODO } }); }
private void setupView(View view) { ImageButton addContribution = (ImageButton) view.findViewById(R.id.addContribution); addContribution.setOnClickListener((buttonView) -> this.onAddNewContribution()); contribution = (EditText) view.findViewById(R.id.contribution); contribution.setHint(R.string.poll_comment); contribution.setOnEditorActionListener(onDescriptionEditorActionListener); RecyclerView contributionList = (RecyclerView) view.findViewById(R.id.contributionList); ((SimpleItemAnimator) contributionList.getItemAnimator()).setSupportsChangeAnimations(false); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext() , LinearLayoutManager.VERTICAL, false); linearLayoutManager.setAutoMeasureEnabled(true); linearLayoutManager.setStackFromEnd(true); contributionList.setLayoutManager(linearLayoutManager); contributionAdapter = new ContributionAdapter(); contributionAdapter.setOnContributionRemoveListener(this); contributionList.setAdapter(contributionAdapter); contribute = (TextView) view.findViewById(R.id.contribute); contribute.setText(R.string.title_comment_poll); }
private void initRecyclerView(Context context) { if (mRecyclerView == null) return; mRecyclerView.setBackgroundColor(mBackgroundColor); mRecyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false); mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.setAdapter(createAdapter()); mRecyclerView.setNestedScrollingEnabled(isNestedScrollEnable()); // mRecyclerView.getItemAnimator().setSupportsChangeAnimations(true); RecyclerView.ItemAnimator animator = mRecyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); } onRecyclerViewInit(mRecyclerView); }
/** Called to create this fragment's view for the first time. */ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_picker, container, false); ButterKnife.bind(this, view); card_list.setLayoutManager(new LinearLayoutManager(getContext())); card_list.addItemDecoration(new ListDivider(getContext())); // Disable flicker animation when an item changes // (otherwise items will flicker when selection state changes) ItemAnimator animator = card_list.getItemAnimator(); if (animator instanceof SimpleItemAnimator) ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); final SharedPreferences pref = Pref.get(getContext()); adapter = new AdapterCardsFilter(card_list, pref.getString(Pref.FILT_CARD, ""), pref.getString(Pref.REQ_CARDS, "")); card_list.setAdapter(adapter); updateView(); return view; }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_6); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); mRv = (RecyclerView) findViewById(R.id.rv); mRv.setLayoutManager(new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL)); mAdapter = new QuickAdapter<Integer>(initData()) { @Override public int getLayoutId(int viewType) { return R.layout.item_6; } @Override public void convert(VH holder, Integer data, int position) { ImageView imageView = holder.getView(R.id.image); Picasso.with(Activity6.this).load(data).into(imageView); //holder.itemView.setOnClickListener(); 此处添加点击事件 } @Override public int getItemViewType(int position) { return super.getItemViewType(position); } }; mAdapter.setHasStableIds(true); ((SimpleItemAnimator)mRv.getItemAnimator()).setSupportsChangeAnimations(false); mRv.setAdapter(mAdapter); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView = (RecyclerView) findViewById(R.id.recyclerview); LinearLayoutManager llm = new LinearLayoutManager(this); recyclerView.setLayoutManager(llm); ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); String jsonObject = loadJSONFromAsset(); parseJson(jsonObject); }
private void removeItem(int position) { ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(true); // jcAudios.remove(position); player.removeAudio(player.getMyPlaylist().get(position)); audioAdapter.notifyItemRemoved(position); ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); }
private View buildDialogView() { View view = LayoutInflater.from(mContext).inflate(R.layout.dialog_color_picker, null); RecyclerView recyclerView = view.findViewById(R.id.items); recyclerView.setLayoutManager(new GridLayoutManager(mContext, 4)); recyclerView.setAdapter(new ColorListAdapter(this)); ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); return view; }
@Override protected void onAttachedToWindow() { super.onAttachedToWindow(); LinearLayoutManager layout = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false); SimpleItemAnimator animator = new DefaultItemAnimator(); setLayoutManager(layout); setItemAnimator(animator); }
/** * Set adapter for DialogsList * * @param adapter Adapter. Must extend DialogsListAdapter * @param <DIALOG> Dialog model class */ public <DIALOG extends IDialog> void setAdapter(DialogsListAdapter<DIALOG> adapter) { SimpleItemAnimator itemAnimator = new DefaultItemAnimator(); itemAnimator.setSupportsChangeAnimations(false); LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, true); setItemAnimator(itemAnimator); setLayoutManager(layoutManager); adapter.setStyle(dialogStyle); super.setAdapter(adapter); }
public static void changeItemAnimation(RecyclerView recyclerView, boolean isOpen) { // 关闭viewholder动画效果。解决viewholder闪烁问题 RecyclerView.ItemAnimator animator = recyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(isOpen); } }
public AlbumAdapter(SelectorModeManager.Callback callback, final RecyclerView recyclerView, final Album album, boolean pick_photos) { super(pick_photos); setData(album); setSelectorModeManager(new SelectorModeManager()); if (callback != null) { getSelectorManager().addCallback(callback); } if (pick_photos) { getSelectorManager().setSelectorMode(true); if (callback != null) { callback.onSelectorModeEnter(); } } //disable default change animation ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); if (callback != null && dragSelectEnabled()) { dragSelectTouchListener = new DragSelectTouchListener() .withSelectListener(new DragSelectTouchListener.OnDragSelectListener() { @Override public void onSelectChange(int start, int end, boolean isSelected) { for (int i = start; i <= end; i++) { getSelectorManager().onItemSelect(getData() .getAlbumItems().get(i).getPath()); //update ViewHolder notifyItemChanged(i); } } }); recyclerView.addOnItemTouchListener(dragSelectTouchListener); } }
@Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_manage_devices, container, false); RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler); HeaderAdapter myHeader = new HeaderAdapter(R.layout.device_header, R.string.my_devices); HeaderAdapter availableHeader = new HeaderAdapter(R.layout.device_header, R.string.available_devices); if (savedInstanceState != null) { mMyDevices.onRestoreInstanceState(savedInstanceState.getBundle(KEY_MY_DEVICES)); mAvailableDevices.onRestoreInstanceState( savedInstanceState.getBundle(KEY_AVAILABLE_DEVICES)); } CompositeRecyclerAdapter adapter = new CompositeRecyclerAdapter(myHeader, mMyDevices, availableHeader, mAvailableDevices); adapter.setHasStableIds(true); recyclerView.setAdapter(adapter); recyclerView.setLayoutManager( new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); // Don't animate on change: https://code.google.com/p/android/issues/detail?id=204277. SimpleItemAnimator animator = new DefaultItemAnimator(); animator.setSupportsChangeAnimations(false); recyclerView.setItemAnimator(animator); return view; }
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreate(savedInstanceState); View rootView = inflater.inflate(R.layout.fragment_downloads, container, false); mRecyclerView = (RecyclerView) rootView.findViewById(R.id.downloadRecyclerView); ((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false); LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); layoutManager.setReverseLayout(true); layoutManager.setStackFromEnd(true); mRecyclerView.setLayoutManager(layoutManager); mRecyclerView.setHasFixedSize(true); mDownloadAdapter = new DownloadAdapter(getActivity()); mRecyclerView.setAdapter(mDownloadAdapter); mEmptyView = rootView.findViewById(R.id.empty_view); FloatingActionButton usageInstructionButton = (FloatingActionButton)rootView.findViewById(R.id.usage_instruction_button); usageInstructionButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent usageInstructionIntent = new Intent(getActivity(), UsageInstruction.class); startActivity(usageInstructionIntent); } }); return rootView; }
private void initRecycler(Bundle inState, final View rootView) { //Setup recycler/adapter/layout manager int fabBehavior = mPrefs.getInt(Prefs.KEY_FAB_BEHAVIOR, Defaults.FAB_BEHAVIOR); boolean footer = (fabBehavior == FabBehavior.FAB_BEHAVIOR_FIXED); mAdapter = new BeaconAdapter(this, getActivity(), footer); mAdapter.setHasStableIds(true); mManager = new LinearLayoutManager(getActivity()); ((SimpleItemAnimator) mRecycler.getItemAnimator()).setSupportsChangeAnimations(false); mRecycler.setLayoutManager(mManager); mRecycler.setAdapter(mAdapter); //Required to get reliably width of recyclerview for signal/distance bar animation mRecycler.post(new Runnable() { @Override public void run() { DisplayMetrics DM = getResources().getDisplayMetrics(); float padding = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 28, DM); //TODO parametrize 28 (item_beacon_4) mAdapter.setBarWidth(rootView.getWidth() - (int) padding); } }); //Restore state if possible if(inState != null && inState.containsKey("FIRST_VISIBLE_POSITION")) { int first = inState.getInt("FIRST_VISIBLE_POSITION"); int offset = inState.getInt("FIRST_VISIBLE_OFFSET"); //ID firstVisibleID = inState.getParcelable("FIRST_VISIBLE_BEACON_ID"); int size = mAdapter.getItemCount()-1; if(first <= size) mManager.scrollToPositionWithOffset(first, offset); else mManager.scrollToPosition(size); } }
@Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipeRefreshLayout); mSwipeRefreshLayout.setOnRefreshListener(this); mRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView); mRecyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); RecyclerView.ItemAnimator animator = mRecyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); } FloatingActionButton mActionButton = (FloatingActionButton) view.findViewById(R.id.fab); if (mActionButton != null) { mActionButton.setOnClickListener(this); } String url = getArguments().getString(getString(R.string.KEY_URL)); String secret = getArguments().getString(getString(R.string.KEY_SECRET)); int typeIndex = getArguments().getInt(getString(R.string.KEY_LIST_TYPE_INDEX)); try { mAria2 = Aria2Factory.getInstance(url, secret); mType = Aria2.ListType.values()[typeIndex]; mAdapter = new DownloadAdapter(getContext(), mAria2, mAria2.getList(mType)); mRecyclerView.setAdapter(mAdapter); } catch (MalformedURLException e) { e.printStackTrace(); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scrolling); if(savedInstanceState != null) selector = savedInstanceState.getParcelable("selector"); rvCalendar = (RecyclerView) findViewById(R.id.rvCalendar); rvCalendar.setLayoutManager(new LinearLayoutManager(this)); ((SimpleItemAnimator) rvCalendar.getItemAnimator()).setSupportsChangeAnimations(false); data = getData(); segmentMode(); // intervalMode(); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scrolling); if(savedInstanceState != null) selector = savedInstanceState.getParcelable("selector"); rvCalendar = (RecyclerView) findViewById(R.id.rvCalendar); rvCalendar.setLayoutManager(new LinearLayoutManager(this)); ((SimpleItemAnimator) rvCalendar.getItemAnimator()).setSupportsChangeAnimations(false); data = getData(); segmentMode(); }
/** * Configures a recycler view and creates an instance of the adapter. */ public static <T extends MGRecyclerAdapter> T configure(@NonNull T adapter, RecyclerView.LayoutManager layoutManager, Integer animationDuration) { RecyclerView recyclerView = adapter.getRecycler(); try { if (layoutManager == null) { layoutManager = new LinearLayoutManager(recyclerView.getContext()); } // Configure recycler view with standard config. recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(adapter); if (recyclerView.getItemAnimator() instanceof SimpleItemAnimator) { ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); } if (animationDuration != null) { recyclerView.getItemAnimator().setAddDuration(animationDuration); recyclerView.getItemAnimator().setRemoveDuration(animationDuration); recyclerView.getItemAnimator().setChangeDuration(animationDuration); recyclerView.getItemAnimator().setMoveDuration(animationDuration); } return adapter; } catch (Exception e) { throw new RuntimeException(e); } }
@Override protected void onFinishInflate() { super.onFinishInflate(); ButterKnife.bind(this); listView.setHasFixedSize(true); listView.setAdapter(listViewAdapter); ((SimpleItemAnimator) listView.getItemAnimator()).setSupportsChangeAnimations(false); }
/** * 设置是否支持移除动画 * * @param supportsChangeAnimations 是否支持 * @see Adapter#notifyItemChanged(int) * @see Adapter#notifyItemRangeChanged(int, int) */ public void setSupportsChangeAnimations(boolean supportsChangeAnimations) { ItemAnimator animator = getItemAnimator(); if (animator == null) return; if (supportsChangeAnimations) { animator.setChangeDuration(mChangeDuration); } else { animator.setChangeDuration(0); } if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(supportsChangeAnimations); } }
protected void initRecyclerView(RecyclerView view){ view.addItemDecoration(new BoxItemDividerDecoration(getResources())); view.addItemDecoration(new FooterDecoration(getResources())); view.setLayoutManager(new LinearLayoutManager(getActivity())); if (view.getItemAnimator() instanceof SimpleItemAnimator) { ((SimpleItemAnimator) view.getItemAnimator()).setSupportsChangeAnimations(false); } }
protected void initRecyclerView(RecyclerView view){ int numColumns = (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) ? 5 : 3; view.setLayoutManager(new GridLayoutManager(getActivity(),numColumns)); view.addItemDecoration(new SpacesItemDecoration(8)); if (view.getItemAnimator() instanceof SimpleItemAnimator) { ((SimpleItemAnimator) view.getItemAnimator()).setSupportsChangeAnimations(false); } }
@Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); View view = inflater.inflate(R.layout.fragment_local_compilations, container, false); unbinder = ButterKnife.bind(this, view); recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); recyclerView.setAdapter(adapter); recyclerView.addItemDecoration(new DrawableItemDecoration(getContext(), R.attr.list_separator_drawable)); ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); errorView.setBackClickListener(v -> getActivity().finish()); emptyDescription.setMovementMethod(LinkMovementMethod.getInstance()); emptyDescription.setText(StringUtil.fromHtml(getString(R.string.offline_library_empty_description_sideload))); RichTextUtil.removeUnderlinesFromLinks(emptyDescription); packsHint.setMovementMethod(LinkMovementMethod.getInstance()); packsHint.setText(StringUtil.fromHtml(getString(R.string.offline_library_packs_hint))); RichTextUtil.removeUnderlinesFromLinks(packsHint); dataUsageHint.setMovementMethod(new LinkMovementMethodExt((url, titleString) -> { if (url.equals(UriUtil.LOCAL_URL_SETTINGS)) { startActivity(SettingsActivity.newIntent(getContext())); } })); dataUsageHint.setText(StringUtil.fromHtml(getString(R.string.offline_library_data_usage_hint))); RichTextUtil.removeUnderlinesFromLinks(dataUsageHint); funnel = new OfflineLibraryFunnel(WikipediaApp.getInstance(), 0); return view; }
@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.frag_chat_list, container, false); //监听屏幕中的键盘是否打开,如果打开则限制话筒波纹效果的显示 SoftKeyboardStateHelper softKeyboardStateHelper = new SoftKeyboardStateHelper(rootView); softKeyboardStateHelper.addSoftKeyboardStateListener(new SoftKeyboardStateHelper.SoftKeyboardStateListener() { @Override public void onSoftKeyboardOpened(int keyboardHeightInPx) { //话筒波纹效果不展示 AppConfig.dPreferences.edit().putBoolean("wave_show", false).commit(); } @Override public void onSoftKeyboardClosed() { //话筒波纹效果展示 if (getActivity() != null && ((MainActivity) getActivity()).voiceWaveable()) AppConfig.dPreferences.edit().putBoolean("wave_show", true).commit(); } }); ButterKnife.bind(this, rootView); chatListView.setHasFixedSize(true); chatListView.setLayoutManager((linearLayoutManager = new LinearLayoutManager(getActivity()))); chatListView.setItemAnimator(new DefaultItemAnimator()); ((SimpleItemAnimator)chatListView.getItemAnimator()).setSupportsChangeAnimations(false); chatListView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { if (newState == RecyclerView.SCROLL_STATE_DRAGGING) { scrollable = false; reset(); } else if (newState == RecyclerView.SCROLL_STATE_IDLE) { if (moveable) { moveable = false; //必须放在移动方法的上面 moveToPosition(scrollPosition); scrollPosition = -1; } } } }); /* chatListView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { if (bottom != oldBottom) { scrollable = true; resetChatLocation(); } } });*/ return rootView; }
private void init() { setDirectorySpanSize(2); ((SimpleItemAnimator) getScriptListView().getItemAnimator()) .setSupportsChangeAnimations(false); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_demo_1); mToolbar = (Toolbar) findViewById(R.id.toolbar); mToolbar.setTitle(R.string.title); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); mRvTag = (RecyclerView) findViewById(R.id.rv_tag); mList = new ArrayList<>(); mAdapter = new TagAdapter(this, mList, new TagAdapter.OnTagClickListener() { @Override public void onRemoved(String removedTag) { Log.i(TAG, "onRemoved: =============removed tag:" + removedTag); } @Override public void onDataSetChange() { mRvTag.smoothScrollToPosition(mAdapter.getItemCount() - 1); } }); mRvTag.setLayoutManager(new TagLayoutManager.Builder() .setBorderLeft(Utils.dp2px(this, 12)) .setBorderTop(Utils.dp2px(this, 8)) .setBorderRight(Utils.dp2px(this, 12)) .setBorderBottom(Utils.dp2px(this, 8)) .setBorderHor(Utils.dp2px(this, 8)) .setBorderVer(Utils.dp2px(this, 4)) .setMaxHeight(Utils.dp2px(this, 100)) .create()); mRvTag.setAdapter(mAdapter); // avoid adapter call notifyItemChanged then the other item flashing ((SimpleItemAnimator)mRvTag.getItemAnimator()).setSupportsChangeAnimations(false); }