0

我正在转向协调员布局和嵌套ScrollView,我知道使它工作我需要使用回收r视图,但事情是我真的想使它与旧的列表视图有可能有任何这样我可以做到这一点在NestedScrollView中设置自定义列表视图

下面是我在做什么

<?xml version="1.0" encoding="utf-8"?> 

<!-- NOT SET HERE: android:fitsSystemWindows="true" --> 
<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 


    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:layout_collapseMode="pin" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
</android.support.design.widget.AppBarLayout> 

<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    android:layout_gravity="fill_vertical" 
    app:behavior_overlapTop="32dp" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <LinearLayout 
     android:id="@+id/ll_main_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <com.felipecsl.asymmetricgridview.library.widget.AsymmetricGridView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/listView" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="#ffffff" 
      android:divider="@android:color/transparent" 
      android:dividerHeight="3dp" 
      android:fadingEdge="horizontal" 
      android:focusable="false" 
      android:gravity="center" 
      android:listSelector="#00000000" /> 
    </LinearLayout> 

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

我也用

android:fillViewport="true" 

但这种扩大我的列表视图相匹配的父母,但没有滚动现在

请帮我 我真的需要使用自定义列表视图

帮助将非常感激。

Thanx提前。

+0

谷歌建议RecyclerView。我建议你不要违反流程... –

+0

但我真的非常非常需要使用列表视图 – Android

回答

1

如果您确实需要使用ListView,则可以在Custom ListView上实现NestedScrollingChild。

下面应该工作:

public class NestedScrollingListView extends ListView implements NestedScrollingChild { 

private final NestedScrollingChildHelper mScrollingChildHelper; 

public NestedScrollingListView(Context context) { 
    super(context); 
    mScrollingChildHelper = new NestedScrollingChildHelper(this); 
    setNestedScrollingEnabled(true); 
} 

public NestedScrollingListView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    mScrollingChildHelper = new NestedScrollingChildHelper(this); 
    setNestedScrollingEnabled(true); 
} 

@Override 
public void setNestedScrollingEnabled(boolean enabled) { 
    mScrollingChildHelper.setNestedScrollingEnabled(enabled); 
} 

@Override 
public boolean isNestedScrollingEnabled() { 
    return mScrollingChildHelper.isNestedScrollingEnabled(); 
} 

@Override 
public boolean startNestedScroll(int axes) { 
    return mScrollingChildHelper.startNestedScroll(axes); 
} 

@Override 
public void stopNestedScroll() { 
    mScrollingChildHelper.stopNestedScroll(); 
} 

@Override 
public boolean hasNestedScrollingParent() { 
    return mScrollingChildHelper.hasNestedScrollingParent(); 
} 

@Override 
public boolean dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, 
           int dyUnconsumed, int[] offsetInWindow) { 
    return mScrollingChildHelper.dispatchNestedScroll(dxConsumed, dyConsumed, 
     dxUnconsumed, dyUnconsumed, offsetInWindow); 
} 

@Override 
public boolean dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow) { 
    return mScrollingChildHelper.dispatchNestedPreScroll(dx, dy, consumed, offsetInWindow); 
} 

@Override 
public boolean dispatchNestedFling(float velocityX, float velocityY, boolean consumed) { 
    return mScrollingChildHelper.dispatchNestedFling(velocityX, velocityY, consumed); 
} 

@Override 
public boolean dispatchNestedPreFling(float velocityX, float velocityY) { 
    return mScrollingChildHelper.dispatchNestedPreFling(velocityX, velocityY); 
} 
} 
+0

它的作品,但子列表视图不滚动 – behelit