CardView中的ListView在向下滚动时删除上边距

时间:2016-12-19 12:31:49

标签: android listview

在此示例中,我将ListView嵌入到CardView中。出于视觉目的,此CardView之上有8dp的余量。期望的行为是,当用户开始向下滚动时,此上边距应该消失。到目前为止,我只能通过在CardView中嵌入ScrollView来实现这一目标,并且由于列表往往很大,这大大破坏了性能。有任何建议如何解决这个问题?

<LinearLayout    
    xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:style="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:background="@color/background"    
    android:paddingTop="8dp"     
    android:paddingStart="4dp"   
    android:paddingEnd="4dp"   
    android:orientation="vertical"> 

    <android.support.v7.widget.CardView        
        android:layout_width="match_parent"    
        android:layout_height="match_parent"> 

        <RelativeLayout
             xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:tools="http://schemas.android.com/tools" 
             android:layout_width="match_parent"
             android:layout_height="match_parent" 
             android:background="@color/sample_white"  
             android:orientation="vertical">     

          <ListView            
               android:id="@+id/list"     
               android:layout_width="match_parent"  
               android:layout_height="match_parent" />  
        </RelativeLayout>
    </android.support.v7.widget.CardView>
</LinearLayout>

提前致谢!

我会尝试使用显示相关边距的图像来使事情更清晰。

ListView embedded in CardView top margin

现在当我向下滚动时,列表元素向上移动但边距仍然存在并使列表看起来很奇怪。

0 个答案:

没有答案