0

我有一个坐标布局,里面有自定义ViewPager和底部TabLayoutViewPager的片段之一的现在问题是RecyclerView不正确滚动。它隐藏了最后一行。Recycler inside bottom tablyout not showing last row

tablayout.xml

<android.support.design.widget.CoordinatorLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

<CustomViewPager  
      android:id="@+id/view_pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

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

     <android.support.design.widget.TabLayout 
      android:id="@+id/tab_layout" 
      style="@style/AppTabLayout" 
      android:layout_width="match_parent" 
      android:layout_height="60dp" 
      android:layout_gravity="bottom" 
      android:layout_alignParentBottom="true" 
      android:background="@color/colorBottomBar" 
      /> 
     </RelativeLayout> 

    </android.support.design.widget.CoordinatorLayout> 

CustomViewPager具有recyclerview

public class CustomViewPager extends ViewPager { 
      private boolean enabled; 

      public CustomViewPager(Context context, AttributeSet attrs) { 
       super(context, attrs); 
       this.enabled = true; 
      } 

      @Override 
      public boolean onTouchEvent(MotionEvent event) { 
       if (enabled) 
        return super.onTouchEvent(event); 
       else 
        return false; 
      } 

      @Override 
      public boolean onInterceptTouchEvent(MotionEvent event) { 
       return enabled && super.onInterceptTouchEvent(event); 
      } 

      public void setPagingEnabled(boolean enabled) { 
       this.enabled = enabled; 
      } 

      public boolean isPagingEnabled() { 
       return enabled; 
      } 

     } 

ViewPager Fragmet

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

    <android.support.v7.widget.Toolbar 
     android:layout_width="match_parent" 
     android:layout_height="80dp" 
     android:background="@color/toolbarColor" 
     android:id="@+id/tool_bar" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark"> 



     <ImageView 
      android:layout_width="30dp" 
      android:layout_height="30dp" 
      android:layout_marginLeft="30dp" 
      android:layout_marginStart="30dp" 
      android:id="@+id/reload" 
      android:clickable="true" 
      android:src="@drawable/icon_refresh"/> 

    </android.support.v7.widget.Toolbar> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="55dp" 
     android:layout_below="@+id/tool_bar" 
     android:orientation="horizontal" 
     android:id="@+id/sort_layout" 
     android:background="@android:color/white" 
     android:weightSum="1"> 



    <android.support.v7.widget.RecyclerView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/recyclerview" 
     android:scrollbars="vertical" 
     android:background="@color/colorBottomBar" 
     android:layout_below="@+id/sort_layout"/> 

</RelativeLayout> 

enter image description here

在上图中,您看到最后一行RecyclerView不完全可见。

回答

1

把自定义的寻呼机和相对布局选项卡布局及以上这样

<android.support.design.widget.CoordinatorLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

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

     <CustomViewPager  
      android:id="@+id/view_pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_above="@+id/@+id/tab_layout 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tab_layout" 
      style="@style/AppTabLayout" 
      android:layout_width="match_parent" 
      android:layout_height="60dp" 
      android:layout_gravity="bottom" 
      android:layout_alignParentBottom="true" 
      android:background="@color/colorBottomBar" 
      /> 
     </RelativeLayout> 

    </android.support.design.widget.CoordinatorLayout> 
标签布局设置自定义寻呼机
+0

嘿它工作。非常感谢您节省时间。而且,如果你可以upvote问题,我将不胜感激。万分感谢 ! –

1

在你tablayout.xml使用此代码,而不是你的:

<android.support.design.widget.CoordinatorLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:orientation:vertical> 

<CustomViewPager  
     android:id="@+id/view_pager" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

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

    <android.support.design.widget.TabLayout 
     android:id="@+id/tab_layout" 
     style="@style/AppTabLayout" 
     android:layout_width="match_parent" 
     android:layout_height="60dp" 
     android:layout_gravity="bottom" 
     android:layout_alignParentBottom="true" 
     android:background="@color/colorBottomBar" 
     /> 
    </RelativeLayout> 
</LinearLayout> 

+0

对不起,它不会工作。现在我的浏览器无法显示。 –

+0

它现在显示工具栏和黑屏 –