我有一个自定义的图像背景,它填充了ListView后面的整个屏幕。
ListView有一个包含某些数据的标题,然后是透明的10dp边距(允许我们看到一点背景图像),然后是更多的数据。在这个标题下面,在ListView的“正文”中,即使其中的项目没有全部到达底部,我也需要使ListView的背景完全填充到屏幕底部。
如果我设置了ListView的背景,那么即使只有几个项目(或没有任何项目),也能获得始终填充到屏幕底部的效果。但是这也会覆盖标题中的10dp透明分隔线,因此我不能再“透过”标题看到自定义背景。
请问有人可以指点一下我如何既实现填充到屏幕底部又保持标题内的透明分隔线吗?
有人提到过,我可能需要创建“虚假”的单元格,以创建ListView背景的幻象,而不影响标题的透明分隔线。但是,我希望能找到一个更简单的解决方案,如果可能的话..或者如果那是最好的解决方案,看看是否有人能够给我一些关于如何以最有效的方式实现它的指针。
谢谢!
编辑:
这是我如何定义标题的方式,虽然我认为这个问题更多地涉及ListView,而我是通过addHeaderView()将其添加到ListView中的。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:background="@android:color/transparent" android:orientation="vertical">
<include android:id="@+view_list_header/headertop"
layout="@layout/view_list_item"/>
**<LinearLayout android:id="@+view_list_header/ll_transparent_filler"
android:layout_width="fill_parent" android:layout_height="10dp"/>**
<RelativeLayout android:id="@+view_list_header/sort" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView.../> <ImageView.../> <TextView.../>
</RelativeLayout>
</RelativeLayout>
目前我已经尝试了多种方法来创建一个10dp的填充物,目前我正在使用一个“空”的10dp LinearLayout来获得对它的引用,并且在需要时将其可见性设置为GONE(但在我讨论的情况下我没有这样做)。
我这样设置ListView的背景:listView.setBackgroundResource(resource)。
同样,当我将背景设置为该ListView时,无论我添加到列表中的项目数量是否足以填满屏幕(顺便提一下,它们都使用我设置给ListView的相同背景资源),我都会得到所需的背景始终填满整个屏幕的效果。 但是,当我这样做时,在标题的10dp“透明边距”不可见,因为在它后面,ListViews背景阻止了底层视图的显示。
我认为这是因为ListView的背景也会出现在Header和Footer视图之后。
问题在于,有很多方法可以在元素之间创建一个10dp的“透明边距”,以允许底层视图显示出来。 我的问题在于如何为ListView“正文”(即非Header / Footer部分)创建一个背景,使其始终填满屏幕,即使列表仅填充了部分或为空,同时保留标题中的透明度,以便我仍然可以看到“在”ListView后面的视图。
Listview.setHeaderView
设置的吗? - user10dp
的边距?你希望标题栏随着ListView
滚动还是固定不动? - user