Articles of android recyclerview

Recycler视图+ View Pager +嵌套的ScrollView + CoordinatorLayout

我正在处理一个布局,使得持有包含回收视图的片段的ViewPager被放置在协调器布局的nester scrollView中。 问题是一旦我点击回收站视图的嵌套滚动视图不工作.. 有没有什么可能的方式来有这样的滚动布局 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent"> <NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <LinearLayout android:id="@+id/lin" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> <NestedScrollView> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/transparent" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <FrameLayout android:layout_width="match_parent" android:layout_height="190dp" android:minHeight="190dp" app:layout_collapseMode="parallax" > <ViewFlipper android:id="@+id/view_flipper" android:layout_width="match_parent" android:layout_height="match_parent"> <!–<ImageView android:id="@+id/backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:adjustViewBounds="true" android:fitsSystemWindows="true" android:scaleType="centerCrop"/>–> […]

最正确地保存RecyclerView的状态?

我在主要活动中有碎片包含recyclerview Fragment.java @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreate(savedInstanceState); View view = inflater.inflate(R.layout.activity_main, container, false); initInstances(view); setRetainInstance(true); return view; } private void initInstances(View view) { mRecyclerView = (RecyclerView) view.findViewById(R.id.dialogList); mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); adapter = new MyAdapter(items); mRecyclerView.setAdapter(mAdapter); } MainActivity.java 在onCreate方法中: myFragment = (MyFragment) getSupportFragmentManager().findFragmentByTag(MyFragment.TAG); if (MyFragment == null) { […]

用点击或滑动手势(Android)扩展/折叠CardView?

我正在寻找一个解决scheme,这将允许我扩大cardview看到更多的信息,然后轻松地将其折叠。 Google Keep有这样的卡片的例子。 任何人都知道他们是怎么做到的 我会创build我的cardview的两个版本(一个折叠和一个扩展),然后使用animation类加上手势方法在两个视图之间转换? 我正在使用Recyclerview来保存我的卡片视图。 我发现,如果它是相关的: http : //developer.android.com/training/animation/layout.html

Proguard和RecyclerView项目装饰

使用ItemDecoration for RecyclerView元素时遇到了一些意外的行为。 在某些手机(三星Android 5设备)上,我的ItemDecoration没有显示何时应用了构build程序(minify true)。 没有proguard / minify它工作正常,你可以看到回收商元素之间的ItemDecoration。 在大多数手机上,问题不存在,您可以看到有或没有应用程序的项目装饰。 不知道那里发生了什么,但任何input赞赏。 项目装饰者代码: import android.content.Context; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.View; public class DividerItemDecoration extends RecyclerView.ItemDecoration { private Drawable mDivider; public DividerItemDecoration(Context context) { mDivider = ContextCompat.getDrawable(context, R.drawable.line_divider); } @Override public void onDrawOver(Canvas canvas, RecyclerView parent, RecyclerView.State state) { int […]

是否有可能将项目拖到RecyclerView之外?

我需要以某种方式通知RecyclerView,当我从另一个RecyclerView拖放项目到它。 可能吗? 或者我应该使用经典的拖放框架 ? 带有蓝色项目的RecyclerView在一个片段中,带有红色项目的RecyclerView在其他片段中。 我也尝试使用ItemTouchHelper,但它是来自ItemTouchHelper的onMove()方法。当从RecyclerView移动到外部时,不调用callback 。 private class CustomItemTouchCallback extends Callback { @Override public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { return makeMovementFlags(UP|DOWN|START|END, 0); } @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { android.util.Log.d(TAG, "Move item from:" + viewHolder.getAdapterPosition() + " to: " + target.getAdapterPosition()); return true; } @Override public void onMoved(RecyclerView recyclerView, […]

Facebook NativeAdsManager在RecyclerView中出现内存exception

我正在创build一个在RecyclerView使用NativeAdsManager的应用程序。 当我加载广告,我得到一个内存不足的例外。 这是我初始化NativeAdsManager : NativeAdsManager manager = new NativeAdsManager(MainActivity.this,PLACEMENT_ID,5); manager.setListener(MainActivity.this); manager.loadAds(NativeAd.MediaCacheFlag.ALL); 这是我的日志,当我得到错误: 07-07 16:44:37.513 14833-15332/com.example.fbads E/dalvikvm-heap: Out of memory on a 1324560-byte allocation. 07-07 16:44:37.528 14833-15332/com.example.fbads E/k: Error downloading image: https://external.xx.fbcdn.net/safe_image.php?d=AQAUgFkrAP5pYhO4&w=796&h=416&url=http%3A%2F%2Fwww.facebook.com%2Fads%2Fimage%2F%3Fd%3DAQJm1ZveY2ilC4oqvu3Hf63USTwVITC5XBV-qrlWjCWeNgKXrAn5SBB9J6cFyDL0sqpnMWqMDehXuXprwbAKycgE-kskX1q8_jpYlyB4sfhCxSRpHM_5n9ZA8-xhlcZ-VxlRs9DT4i5qeLy6kEZxOSQG&cfs=1&ext=jpg java.lang.OutOfMemoryError at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) at android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:620) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596) at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:376) at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:402) at com.facebook.ads.internal.util.ma(Unknown Source) at com.facebook.ads.internal.util.kb(Unknown Source) at com.facebook.ads.internal.util.k.doInBackground(Unknown Source) at android.os.AsyncTask$2.call(AsyncTask.java:288) at […]

animationbot /底部的视图违反在recyclerView滚动

我有一个recyclerView,其中包含自定义视图的列表。 当我点击一个recyclerView项目,它被扩展,提供更多的信息。 另一个点击这个视图(或另一个)closures当前的一个。 提供SimpleItemAnimator的默认animation似乎并不合适。 所以,我试图像我这样自己实现animateChange : public class CustomItemAnimator extends CustomDefaultItemAnimator { private static final int FADE_IN = 1; private static final int FADE_OUT = 2; private ItemHolderInfo getItemHolderInfo(RecyclerView.ViewHolder viewHolder, MoveInfo moveInfo) { moveInfo.stuff.clear(); ViewGroup content_container = (ViewGroup) viewHolder.itemView.findViewById(R.id.item_content); for (int i = 0; i < content_container.getChildCount(); i++) { View view = content_container.getChildAt(i); if (view.getVisibility() […]

NestedScrollView内多个水平RecyclerView窃取焦点

其实我目前正在为AndroidTV应用程序工作。 我有多个水平的RecyclerView ,就像那个图像一样在一个NestedScrollView里面。 问题是,当我向左滚动更多时,焦点移动到不同的列表或不同的视图,这是不好的。 我不希望重点改变。 如果列表到达最后,那么焦点应该保持在相同的位置。 我试过了 : android:descendantFocusability="blocksDescendants" android:focusableInTouchMode="true" //in parent layout 但它没有工作.. 谁能帮我吗 ?? 没解决

Android之间共享元素转换片段之间具有recyclerview和详细信息视图

我有2个片段:片段1包含recyclerview&片段2具有选定项目的详细视图。 这两个片段之间有一个共享元素imageview。 从片段1转换到2时,我希望看到标准的共享元素转换效果,但它似乎不能用于recyclerview。 因为如果我在第一个片段中使用另一个单独的视图而不是recyclerview,它将展现适当的转换。 请注意,我已将基于位置的唯一过渡名称分配给recyclerview项目图像。 代码如下:MyActivity.java public class MyActivity extends Activity { private static final String TAG = MyActivity.class.getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); if (savedInstanceState == null) { getFragmentManager().beginTransaction() .add(R.id.main_container, new PlaceholderFragment()) .commit(); } } public static class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder> { public interface OnItemClickListener { void onItemClick(View view, int position); […]

位于ViewPager中的Fragment中的Android RecyclerView在到达setOffscreenPageLimit时不会重新加载/刷新视图

我有一个Fragment的RecyclerView再次在ViewPager ,当我在ViewPager页面之间滑动时,我看到onDetach of Fragment被调用,但由于某种原因RecyclerView仍然存在于ViewPager Fragment特定位置,即使是当我回到分离的片段时, RecyclerView滚动位置被保留。 我为ViewPager使用FragmentStatePagerAdapter ,我从getItemPosition()返回POSITION_NONE ,但它没有效果。 请帮我理解这里的问题。