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