美文网首页
ScrollVIew嵌套RecycleView不显示的问题

ScrollVIew嵌套RecycleView不显示的问题

作者: Android绝世小菜鸟 | 来源:发表于2017-02-27 20:09 被阅读0次

    解决方法:采用NestedScrollView嵌套RecycleView的方式来处理

    eg:

    <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/keyline_1">
    
        </RelativeLayout>
    
        <View
            android:id="@+id/separator"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#e5e5e5" />
    
        <android.support.v7.widget.RecyclerView
            android:id="@+id/conversation"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    
    </android.support.v4.widget.NestedScrollView>
    
    

    2.代码中设置:

    recyclerView.setNestedScrollingEnabled(false);
    recyclerView.setHasFixedSize(false);
    

    完美解决

    外加一个ListView的,虽然很久没用了

    
    /** 
     * 解决ScrollView与ListView的嵌套问题 
     * @author zhy 
     *  
     */  
    public class MyListView extends ListView  
    {  
      
        public MyListView(Context context, AttributeSet attrs)  
        {  
            super(context, attrs);  
        }  
      
        public MyListView(Context context, AttributeSet attrs, int defStyle)  
        {  
            super(context, attrs, defStyle);  
        }  
      
        public MyListView(Context context)  
        {  
            super(context);  
        }  
      
        @Override  
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)  
        {  
      
            /** 
             * 解决ScrollView与ListView的嵌套问题 
             */  
            int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,  
                    MeasureSpec.AT_MOST);  
      
            super.onMeasure(widthMeasureSpec, expandSpec);  
        }  
      
    }  
    

    相关文章

      网友评论

          本文标题:ScrollVIew嵌套RecycleView不显示的问题

          本文链接:https://www.haomeiwen.com/subject/cuctgttx.html