Android RecyclerView Laggy内置嵌套滚动视图/线性布局
在深入研究代码之前,我已经检查了以下问题: 上面提到的问题对我都不起作用。滚动时,Android RecyclerView Laggy内置嵌套滚动视图/线性布局,android,android-recyclerview,android-nestedscrollview,Android,Android Recyclerview,Android Nestedscrollview,在深入研究代码之前,我已经检查了以下问题: 上面提到的问题对我都不起作用。滚动时,RecyclerView太慢 我有一个NestedScrollview和一个LinearLayout作为NestedScrollview的主布局。布局的代码是: <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_widt
RecyclerView
太慢
我有一个NestedScrollview
和一个LinearLayout
作为NestedScrollview
的主布局。布局的代码是:
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:fbutton="http://schemas.android.com/apk/res-auto"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/frag_misc_rv_margin_top"
android:scrollbars="none"
android:nestedScrollingEnabled="false"
android:id="@+id/frag_showcase_promotion_recyclerview"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
mPromotionsRv.setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false));
mPromotionsRv.setNestedScrollingEnabled(false);
mPromotionsAdapter = new ShowcasePromotionRvAdapter(getActivity(), mPromotionsItems);
mPromotionsAdapter.setOnItemClickListener(new ShowcasePromotionListener() {
@Override
public void onClick(View view, int position) {
ItemPromotion mPromotion = mPromotionsItems.get(position);
try{
recordPromotionClick(mPromotion.getId());
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse(mPromotion.getPromotion_link())));
} catch (Exception e){
e.printStackTrace();
}
}
});
mPromotionsRv.setAdapter(mPromotionsAdapter);
SnapHelper snapHelperStart = new GravitySnapHelper(Gravity.START);
snapHelperStart.attachToRecyclerView(mPromotionsRv);
RecyclerView.ItemAnimator animator = mPromotionsRv.getItemAnimator();
if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); }
由于您的RecyclerView是水平的,请尝试将您的RecyclerView的宽度设置为“包裹内容”。基本上不管怎样,将
wrap\u内容
与RecyclerView
一起使用总是会有使用太多资源的风险。我尝试过设置高度,但实际上没有任何帮助。