Android多个RecyclerView嵌套在NestedScrollView的滑动阻塞问题。

最近在做一个项目,做完首页,将多个RecyclerView嵌套在NestedScrollView中,在Android7.0以下都是流畅运行,但是在新买的Android7.1的手机上,滑动时有时会出现一点阻塞,求问这是为什么?界面和代码如下:
首页效果图:
首页
布局:

 <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_below="@+id/main_linear_search"
                android:layout_marginTop="15dp">

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/home_rv_convenient"
                    android:layout_width="wrap_content"
                    android:layout_height="100dp">
                </android.support.v7.widget.RecyclerView>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    android:background="@color/background_gray"/>

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="20dp"
                    android:orientation="horizontal"
                    android:layout_gravity="center_horizontal"
                    android:gravity="center_vertical">
                    <View
                        android:layout_width="20dp"
                        android:layout_height="2dp"
                        android:background="@color/background_gray"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="@color/black"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="5dp"
                        android:textSize="12sp"
                        android:text="经典案例"/>
                    <View
                        android:layout_width="20dp"
                        android:layout_height="2dp"
                        android:background="@color/background_gray"/>
                </LinearLayout>

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/home_rv_classical"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
                </android.support.v7.widget.RecyclerView>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    android:background="@color/background_gray"/>

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="20dp"
                    android:orientation="horizontal"
                    android:layout_gravity="center_horizontal"
                    android:gravity="center_vertical">
                    <View
                        android:layout_width="20dp"
                        android:layout_height="2dp"
                        android:background="@color/background_gray"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="@color/black"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="5dp"
                        android:textSize="12sp"
                        android:text="热门优惠"/>
                    <View
                        android:layout_width="20dp"
                        android:layout_height="2dp"
                        android:background="@color/background_gray"/>
                </LinearLayout>

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/home_rv_hot"
                    android:layout_width="wrap_content"
                    android:layout_height="200dp">
                </android.support.v7.widget.RecyclerView>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    android:background="@color/background_gray"/>

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="20dp"
                    android:orientation="horizontal"
                    android:layout_gravity="center_horizontal"
                    android:gravity="center_vertical">
                    <View
                        android:layout_width="20dp"
                        android:layout_height="2dp"
                        android:background="@color/background_gray"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="@color/black"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="5dp"
                        android:textSize="12sp"
                        android:text="艺届资讯"/>
                    <View
                        android:layout_width="20dp"
                        android:layout_height="2dp"
                        android:background="@color/background_gray"/>
                </LinearLayout>

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/home_rv_article"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
                </android.support.v7.widget.RecyclerView>

            </LinearLayout>

        </RelativeLayout>

    </android.support.v4.widget.NestedScrollView>

代码中也进行了设置:

// 滑动优化
mHomeRvConvenient.setNestedScrollingEnabled(false);
mHomeRvHot.setNestedScrollingEnabled(false);
mHomeRvClassical.setNestedScrollingEnabled(false);
mHomeRvArticle.setNestedScrollingEnabled(false);

5个回答

图片说明

ZhangXuxiaoqingnian
勤奋的小狼 回复NiLuogege: 老铁,你这个问题怎么样了
一年多之前 回复
NiLuogege
NiLuogege 请问解决了吗?我也遇到了这个问题
接近 2 年之前 回复
ListerCi
ListerCi 大神啊,请受我一拜
2 年多之前 回复

如果问题有描述的不清楚的地方也请指教~

阻塞是指卡顿的现象嘛

ListerCi
ListerCi 大部分情况下是很流畅的滑动的,但是有时候会感觉“拖不动”。一般来说,手指划一下就会移动一段较大的距离,但是阻塞时,手指划多远,NestedScrollView就划多远。打个比方就是感觉没上润滑油,不知道这么说你能不能理解。。。
2 年多之前 回复

你这个不涉及到嵌套滚动吧,为什么不直接用ScrollView,然后不用那个优化代码。 至于卡顿原因,这个还真不知道。

这个我不熟,然后我搜了一下ScrollView嵌套rv本来就会有小问题,上面的当我没说。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
NestedScrollView嵌套RecyclerView,滚动事件被拦截

现有两个RecyclerView,每个都嵌套有NestedScrollView,部分代码如下 ``` <android.support.v4.widget.NestedScrollView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@color/global_activity_background_color"> <android.support.v7.widget.RecyclerView android:id="@+id/goods_left_recycler_list" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView> </android.support.v4.widget.NestedScrollView> <android.support.v4.widget.NestedScrollView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="4" android:background="@color/global_background_color_white"> <android.support.v7.widget.RecyclerView android:id="@+id/goods_right_recycler_list" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView> </android.support.v4.widget.NestedScrollView> ``` 运行截图如下: ![图片说明](https://img-ask.csdn.net/upload/201709/20/1505920340_302225.png) 我想点击左侧的item,右侧能滚动到相应位置,但是目前无任何响应,请问各位该如何解决。

recyclerview嵌套了recyclerview滑动冲突

如下图:recyclerview(1)嵌套了recyclerview(2)导致recyclerview(2)上下滑动失效,求解 ![图片说明](https://img-ask.csdn.net/upload/201610/12/1476257042_172904.png)

recyclerView 中嵌套复杂布局滑动卡顿的情况如何解决

recyclerView 嵌套 recyclerView 或者Viewpager等复杂布局的时候,初次下滑 会出现明显的卡顿,再次下滑的时候就不会卡顿了,请问这个情况怎么解决。 如何让recyclerView 第一次加载的时候就直接把所有的item加载完?

Recyclerview嵌套recyclerview的深坑,我坐在Recyclerview这个坑里很久了,仰望天空希望能把我拉上去。

Recyclerview嵌套recyclerview的深坑,对于一个新手来说怎么也上不去,特来邀请键盘中的高手高高手,拉拉我; ## 第一个Recyclerview布局: ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/area_LinearLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" android:focusableInTouchMode="true" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:background="@drawable/drawable_black_one" android:orientation="horizontal" android:layout_margin="3dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:layout_gravity="center" android:text="" android:textColor="@drawable/drawable_white_pure" android:lines="1" android:layout_weight="1"/> <TextView android:layout_width="1dp" android:layout_height="30dp" android:layout_gravity="center" android:layout_margin="5dp" android:background="@color/whiteness" /> <TextView android:id="@+id/peers_location_TextView" android:layout_width="70dp" android:layout_height="40dp" android:layout_marginLeft="5sp" android:layout_marginRight="10dp" android:ellipsize="end" android:gravity="center" android:text="" android:textColor="@color/whiteness" android:textSize="14sp" android:lines="1" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="3dp" > <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:layout_width="20dp" android:layout_height="20dp" android:layout_alignParentTop="true" android:layout_alignParentEnd="true" android:layout_marginTop="0dp" android:layout_marginEnd="10dp" android:scaleType="fitStart" android:src="@drawable/location" /> </RelativeLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:background="@drawable/drawable_black_one" android:layout_gravity="center" android:focusable="true" android:focusableInTouchMode="true" android:layout_margin="3dp"> <EditText android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_margin="1dp" android:background="@color/text_white" android:hint="行业人员" android:textSize="13dp" android:gravity="center" android:lines="1" android:layout_weight="1"/> <TextView android:layout_width="50dp" android:layout_height="wrap_content" android:text="搜索" android:textSize="14dp" android:layout_marginLeft="14dp" android:layout_gravity="center" android:textColor="@color/whiteness" android:layout_margin="5dp" android:gravity="center"/> </LinearLayout> <android.support.v7.widget.RecyclerView android:id="@+id/user_info_layout" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> ``` ## 在第一个Recycleview的item里面嵌套了第二个Recyclerview不知道这样对不对? ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/portrait" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:id="@+id/user_portrait" android:layout_width="50dp" android:layout_height="50dp" android:layout_margin="5dp" android:src="@drawable/em_default_avatar" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="20dp" android:layout_marginTop="5dp" android:gravity="clip_horizontal"> <TextView android:id="@+id/user_industry" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/dialog_circular_whiteness" android:ellipsize="end" android:gravity="center" android:text="建筑" android:textColor="@color/colorPrimary" android:textSize="14sp" android:textStyle="bold" /> <TextView android:id="@+id/user_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_marginLeft="5dp" android:background="@drawable/dialog_circular_whiteness" android:ellipsize="end" android:gravity="center" android:text="努力改变自己" android:textColor="#323232" android:textSize="10sp" android:textStyle="bold" /> <TextView android:id="@+id/name_voip" android:layout_width="20dp" android:layout_height="wrap_content" android:layout_gravity="center" android:ellipsize="end" android:gravity="center" android:text="voip" android:textColor="@color/text_pink" android:textSize="7sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="35dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="努力改变自己" android:textSize="12dp" /> </LinearLayout> </LinearLayout> <RelativeLayout android:layout_width="60dp" android:layout_height="match_parent" android:gravity="center"> <TextView android:id="@+id/user_location" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:background="@drawable/dialog_circular_whiteness" android:text="" android:textSize="12dp" android:textStyle="bold" /> </RelativeLayout> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="fill_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1"> **<!-- 导入RecyclerView-->** <android.support.v7.widget.RecyclerView android:id="@+id/user_peesr_info" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="10dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:text="访问:10000人" android:textSize="8dp" /> </LinearLayout> </LinearLayout> </LinearLayout> ``` ## 第一个Recyclerview的适配器: ``` public class Home_RecyclerView_Adapter extends RecyclerView.Adapter<Home_RecyclerView_Adapter.myViewHodler> { private Context context; private LinkedList<Home_list_get_set> LinkedList; public LinkedList<User_Recruitment_get_set> mLinkedList; public Home_list_get_set mHome_list_get_set; //创建构造函数 public Home_RecyclerView_Adapter(Context context, LinkedList<Home_list_get_set> industrytitlegetsetList) { //将传递过来的数据,赋值给本地变量 this.context = context;//上下文 this.LinkedList = industrytitlegetsetList;//实体类数据ArrayList } /** * 创建viewhodler,相当于listview中getview中的创建view和viewhodler * * @param parent * @param viewType * @return */ @Override public myViewHodler onCreateViewHolder(ViewGroup parent, int viewType) { RecyclerView user_peesr_info;//自定义recyclerveiw的适配器 //创建自定义布局 // View itemView = View.inflate(context, R.layout.peers_list_item, null);//用这个布局item宽高无效 // myViewHodler itemView = new myViewHodler(LayoutInflater.from(context).inflate(R.layout.peers_list_item, parent, false)); View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.peers_list_item, parent, false); user_peesr_info = view.findViewById (R.id.user_peesr_info); //给嵌套的RecyclerView设置适配器 User_Recruitment_Adapter user_recruitment_adapter = new User_Recruitment_Adapter (context,mLinkedList); user_peesr_info.setAdapter (user_recruitment_adapter); user_peesr_info.setLayoutManager (new LinearLayoutManager (context, LinearLayoutManager.HORIZONTAL, false)); //给嵌套的RecyclerView设置item的分割线 user_peesr_info.addItemDecoration (new DividerItemDecoration (context, DividerItemDecoration.HORIZONTAL)); return new myViewHodler(view); // return itemView; } /** * 绑定数据,数据与view绑定 * * @param holder * @param position */ @SuppressLint("ClickableViewAccessibility") @Override public void onBindViewHolder(myViewHodler holder, int position) { //根据点击位置绑定数据 mHome_list_get_set = LinkedList.get(position); // holder.mItemGoodsImg; holder.user_name.setText(mHome_list_get_set.getUser_name()); holder.user_industry.setText(mHome_list_get_set.getUser_work()); // holder.user_portrait.setImageDrawable (data.getHead_portait ());//改为下面Glide获取图上 Glide.with(context) .load(mHome_list_get_set.getHead_portait ())//图片信息 .apply(RequestOptions.bitmapTransform(new CircleCrop ()))//设置圆形 .into(holder.user_portrait);//设置到那个部位 holder.name_voip.setText(mHome_list_get_set.getUser_Vip()); holder.user_location.setText(mHome_list_get_set.getUser_location()); } /** * 得到总条数 * * @return */ @Override public int getItemCount() { // return LinkedList.size(); return LinkedList == null ? 0 : LinkedList.size(); } //自定义viewhodler class myViewHodler extends RecyclerView.ViewHolder { private ImageView user_portrait; private TextView user_name; private TextView user_industry; private TextView name_voip; private TextView user_location; public RecyclerView user_peesr_info;//自定义recyclerveiw的适配器 public myViewHodler(View itemView) { super(itemView); user_peesr_info = itemView.findViewById (R.id.user_peesr_info); user_portrait = itemView.findViewById(R.id.user_portrait); user_name = itemView.findViewById(R.id.user_name); user_industry = itemView.findViewById(R.id.user_industry); name_voip = itemView.findViewById(R.id.name_voip); user_location = itemView.findViewById(R.id.user_location); user_portrait.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //可以选择直接在本位置直接写业务处理 //Toast.makeText(context,"点击了xxx",Toast.LENGTH_SHORT).show(); //此处回传点击监听事件 if (onItemClickListener != null) { onItemClickListener.OnItemClick(v, LinkedList.get(getLayoutPosition())); } } }); } public View getItemView() { return itemView; } } /** * 设置item的监听事件的接口 */ public interface OnItemClickListener { /** * 接口中的点击每一项的实现方法 * * @param view 点击的item的视图 * @param data 点击的item的数据 */ public void OnItemClick(View view, Home_list_get_set data); } //需要外部访问,所以需要设置set方法,方便调用 private OnItemClickListener onItemClickListener; public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } ``` ## 第二个Recyclerview的适配器: ``` public class User_Recruitment_Adapter extends RecyclerView.Adapter<User_Recruitment_Adapter.myViewHodler> { public LinkedList<User_Recruitment_get_set> m_LinkedList; private Context context; public User_Recruitment_get_set mUser_Recruitment_get_set; //创建构造函数 public User_Recruitment_Adapter(Context context, LinkedList<User_Recruitment_get_set> mLinkedList) { //将传递过来的数据,赋值给本地变量 this.context = context;//上下文 this.m_LinkedList = mLinkedList; } @NonNull @Override public myViewHodler onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.user_peers_recruitment_item, viewGroup, false); return new myViewHodler(view); } @Override public void onBindViewHolder(@NonNull myViewHodler myViewHodler, int i) { mUser_Recruitment_get_set = m_LinkedList.get(i); myViewHodler.recruitment.setText (mUser_Recruitment_get_set.getRecruitment ()); } @Override public int getItemCount() { return m_LinkedList == null ? 0 : m_LinkedList.size(); } public class myViewHodler extends RecyclerView.ViewHolder { private TextView recruitment; public myViewHodler(@NonNull View itemView) { super (itemView); recruitment = itemView.findViewById(R.id.recruitment); } } } ``` ## 现问题是嵌套里面的Recyclerview无显示内容?我该如何写?

安卓nestedscrollview和横向recyclerview滑动冲突。

我想仿豆瓣剧照和演员照片可以横向滑动,可是当在所在recyclerview上下滑动时nestedscrollview无滑动效果,试了重写事件分发方法,没有解决,现在求解决。

安卓ListView中嵌套RecyclerView,触碰recy时Collapsing不滑动

ListView中嵌套RecyclerView,RecyclerView放图片左右滑动,ListView放在CoordinatorLayout布局,当触碰recyclerView上下滑动时ListView会滑动,但不是CollapsingToolbarLayout先滑动折叠。 这是布局 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/homepage_head" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" > <android.support.design.widget.AppBarLayout android:fitsSystemWindows="true" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.design.widget.CollapsingToolbarLayout android:fitsSystemWindows="true" app:titleEnabled="false" android:theme="@style/AppTheme.AppBarOverlay" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <LinearLayout android:layout_marginTop="?attr/actionBarSize" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent"> ………… </LinearLayout> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:popupTheme="@style/AppTheme.PopupOverlay" > ………… </android.support.v7.widget.Toolbar> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <cn.view.MyListView <!--item包含RecyclerView --> app:layout_behavior="@string/appbar_scrolling_view_behavior" android:layout_width="match_parent" android:dividerHeight="8dp" android:layout_height="match_parent"></cn.view.MyListView> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout>

Android TV开发,ScrollView嵌套RecyclerView滑动问题

我用的是FocusLayout来让有焦点的控件有个边框, 结果当RecyclerView由下滑动到第一行条目的时候,因为ScrollView还没有到最上面的顶点, 所以还能再往上滑动一次,这个时候FocusLayout还是会绘制一个边框,然后那里没有控件. 请教大佬帮忙解决下. FocusLayout的代码如下,这个是用来绘制边框的. ```public class FocusLayout extends RelativeLayout implements ViewTreeObserver.OnGlobalFocusChangeListener { private LayoutParams mFocusLayoutParams; private View mFocusView; public FocusLayout(Context context) { super(context); init(context); } public FocusLayout(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public FocusLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context); } private void init(Context context) { this.mFocusLayoutParams = new LayoutParams(0, 0); this.mFocusView = new View(context); this.mFocusView.setBackgroundResource(R.drawable.default_focus); // this.mFocusView.setBackgroundResource(R.drawable.focus); // this.mFocusView.setBackgroundColor(getResources().getColor(R.color.test)); this.addView(this.mFocusView, this.mFocusLayoutParams); } public void show(){ mFocusView.setVisibility(View.VISIBLE); } public void unShow(){ mFocusView.setVisibility(View.INVISIBLE); } @Override public void onGlobalFocusChanged(View oldFocus, View newFocus) { Rect viewRect = new Rect(); if (newFocus==null)return; newFocus.getGlobalVisibleRect(viewRect); correctLocation(viewRect); this.setFocusLocation( viewRect.left - this.mFocusView.getPaddingLeft(), viewRect.top - this.mFocusView.getPaddingTop(), viewRect.right + this.mFocusView.getPaddingRight(), viewRect.bottom + this.mFocusView.getPaddingBottom()); } /** * 由于getGlobalVisibleRect获取的位置是相对于全屏的,所以需要减去FocusLayout本身的左与上距离,变成相对于FocusLayout的 * @param rect */ private void correctLocation(Rect rect) { Rect layoutRect = new Rect(); this.getGlobalVisibleRect(layoutRect); rect.left -= layoutRect.left; rect.right -= layoutRect.left; rect.top -= layoutRect.top; rect.bottom -= layoutRect.top; } /** * 设置焦点view的位置,计算焦点框的大小 * * @param left * @param top * @param right * @param bottom */ protected void setFocusLocation(int left, int top, int right, int bottom) { int width = right - left; int height = bottom - top; this.mFocusLayoutParams.width = width; this.mFocusLayoutParams.height = height; this.mFocusLayoutParams.leftMargin = left; this.mFocusLayoutParams.topMargin = top; this.mFocusView.layout(left, top, right, bottom); } } ```

CoordinatorLayout中嵌套NestedScrollView,滑动时出现波动

![滑动时老是出现那种NestedScrollView已滑动但是AppBarLayout要等一会才收缩,就出现那种一卡一卡的情况,求大神帮一下啊](https://img-ask.csdn.net/upload/201702/14/1487078753_362893.gif) 滑动时老是出现那种NestedScrollView已滑动但是AppBarLayout要等一会才收缩,就出现那种一卡一卡的情况,求大神帮一下啊

ScrollView嵌套RecyclerView导致RecyclerView加载的时候会初始化所有数据,Item无法复用的问题

请问一下,有没有方法可以解决,ScrollView嵌套RecyclerView导致RecyclerView加载的时候会初始化所有数据,Item无法复用的问题

DrawLayout嵌套recyclerview,scrolltoposition失效

<android.support.v4.widget.DrawerLayout android:id="@+id/dl" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" > <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="start" android:layout_marginTop="?attr/actionBarSize" app:headerLayout="@layout/fragment_document_drawer_list" /> </android.support.v4.widget.DrawerLayout> </RelativeLayout> fragment_document_drawer_list 里面只有一个帧布局,帧布局里面有个recyclerview 拉开侧拉菜单栏后,recyclerview的item可以点击但是scrolltoposition失效了。我在fragment_document_drawer_list的帧布局里设置个button,位置为居中,但是最终居中的却不是可见范围内的居中,求助!

关于CoordinatorLayout嵌套RecyclerView滑动

当列表第一项不在顶部时,就不能把头部的视图一起带出来,要先回到顶部,再拉一下才行,网上的好多demo,只要是CoordinatorLayout都有这个问题,无法像支付宝那样上拉的时候拉回到列表最顶端的时候顺带将原来隐藏的内容恢复显示,现在我都怀疑支付宝可能不是CoordinatorLayout做的了![列表回滚时回到列表顶需要再次下拉才会恢复隐藏显示](https://img-ask.csdn.net/upload/201705/24/1495610356_70751.png)

Android 如何在RecyclerView中添加Fragment?

想要把Fragment当做Item添加到RecyclerView中,如何实现呢?

recyclerView点击事件

在recyclerView中嵌套recyclerView,我想为内嵌的recyclerView整体设置点击事件,但是点击没反应,我又给内嵌的recyclerView外面包一层LinearLayout,给LinearLayout设置点击也没反应,这是为什么,搞半天一点进展没有 求助就像下图这样垂直的recyclerView嵌套GridView形式的recyclerView![图片说明](https://img-ask.csdn.net/upload/201611/17/1479389892_511526.png)

RecyclerView滑动的时候很卡!!

Book类 ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555586322_699463.jpg) 举个初始化例子 ``` Book book=new Book(R.drawable.book_pic,"六论自发性","9787520142625","詹姆斯·C·斯科特","社会科学文献出版社","2019-04","aaa"); ``` 当然,我的List<Book> 里面是有很多个book对象的。 然后, 在onBindViewHolder中,因为我是把图片放在res/drawable中,通过img.setImageResource来获得。 ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555585602_64110.jpg) 后来把Book这个类的图片我改成Bitmap类型,因为后面要用到网络图片或者调取相册图片,然在onBindViewHolder中通过img.setImageBitmap(book.getBitmap())。 改了之后的Book类(属性部分) ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555586187_967468.jpg) 初始化变成 ``` Book book=new Book(BitmapFactory.decodeResource(getResources(),R.drawable.book_pic),"六论自发性","9787520142625","詹姆斯·C·斯科特","社会科学文献出版社","2019-04","aaa"); ``` 改了之后的onBindViewHolder ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555586048_852910.jpg) 然后在RecyclerView滑动过程中很卡!! 好像整个画面都很卡。。。不知为何,难道在这个过程当中有解码吗??所以导致很卡吗?请问有什么解决方案?请求各位大神

recyclerview嵌套listview 在listview的列表全部移出屏幕之前是否能够重用

recyclerview的复用机制,如果嵌套了listview或者其他的列表 是不是在该列表移出屏幕之前是不会重用的?

scrollview 嵌套recyclerview

scrollview 嵌套recyclerview时,当recyclerview中的item控件为TextView时,TextView文字过多则导致 RecyclerView显示不全,已经重写了LinearLayoutManager,和Scorllview

Android关于RecyclerView加载更多问题

网上大多数 RecyclerView.OnScrollListener的判断如下: @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); lastVisibleItemPosition = mLinearLayoutManager.findLastVisibleItemPosition(); visibleItemCount = recyclerView.getChildCount(); totalItemCount = mLinearLayoutManager.getItemCount(); firstVisibleItemPosition = mLinearLayoutManager.findFirstVisibleItemPosition(); lastVisibleItemPosition = mLinearLayoutManager.findLastVisibleItemPosition(); if(isLoading){ if(totalItemCount > previousTotal){ isLoading = false; previousTotal = totalItemCount; } } // if (!isLoading && totalItemCount-visibleItemCount <= firstVisibleItemPosition ){ //(1) if (!isLoading && lastVisibleItemPosition ==totalItemCount-1){ //(2) //加载更多逻辑 } 在RecyclerView.OnScrollListener中,不论是方式(1)还是(2),在item数据不足以充满屏幕时都会自动加载更多,直到充满屏幕才停下,求教如何在item数据不足一屏幕时判断加载更多逻辑

RecycleView嵌套gridView

public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { final int p=position/2; if (holder instanceof Item1ViewHolder) { ((Item1ViewHolder) holder).tittle.setText(mDataList.get(p).getName()); } else { gvAdapter = new PropertyGvAdapter(mContext); gvAdapter.setData(mDataList.get(p).getAttrValues()); ((ItemGvViewHolder) holder).sodukuGridView.setAdapter(gvAdapter); ((ItemGvViewHolder) holder).sodukuGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int fuckP, long id) { gvAdapter.changeSelect(fuckP); ToastUtils.showShort(mContext,mDataList.get(p).getName()+"="+mDataList.get(p).getAttrValues().get(fuckP).getName()); } }); } } ``` ![图片说明](https://img-ask.csdn.net/upload/201608/04/1470299261_635321.jpg) 整体是recycleView 奇数position是gridView 但是gridView的adapter貌似被复用了 导致里面的数据都是一个gridView的 gvAdapter.changeSelect(fuckP); 导致我调用这个方法 会角标越界 显示size只有6

安卓scrollview中嵌套recycleView/webView 上下滑动时文字细微抖动。

scrollview中嵌套recycleView中得item项多得时候抖动明显,单独一个recycleView上下滑动时就会很平稳顺滑。 scrollview中嵌套webView 上下滑动时也是如此

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

删库了,我们一定要跑路吗?

在工作中,我们误删数据或者数据库,我们一定需要跑路吗?我看未必,程序员一定要学会自救,神不知鬼不觉的将数据找回。 在 mysql 数据库中,我们知道 binlog 日志记录了我们对数据库的所有操作,所以 binlog 日志就是我们自救的利器。 接下来就来开启程序员自救之路。 想要自救成功,binlog 这把利器一定要好,在自己之前,我们一定要确定我们有 binlog 这把利器,以下就是确保有 bi...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

现代的 “Hello, World”,可不仅仅是几行代码而已

作者 |Charles R. Martin译者 | 弯月,责编 | 夕颜头图 |付费下载自视觉中国出品 | CSDN(ID:CSDNnews)新手...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐