我有一个自定义图像背景,它填充 ListView 后面的整个屏幕。
ListView 有一个包含一些数据的标题,然后是一个透明的 10dp 边距(允许我们看到一点背景图像),然后是更多数据。在这个标题下方,在 ListView 的“主体”中,我需要使 ListView 的背景一直填充到屏幕底部,即使其中的项目没有一直填充到底部。
如果我设置 ListView 的背景,那么即使只有几个项目(或根本没有),我也会得到始终填充到屏幕底部的所需效果。但这也掩盖了标题中的 10dp 透明分隔线,因此我无法再“通过”标题看到自定义背景。
有人可以指出我正确的路径吗both填充屏幕,同时保持标题内的透明分隔线?
有人顺便提到,我可能需要创建“假”项目单元格,这些单元格可用于创建 ListView 背景的错觉,而不影响标题的透明分隔线。但是,如果可能的话,我希望找到一个更简单的解决方案......或者如果那样的话is最好的解决方案看看是否有人可以给我一些关于如何以最有效的方式实现这一目标的指示。
谢谢你!
EDIT:
这是我定义标题的方式,尽管我认为这个问题与 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 的背景也位于页眉和页脚视图后面。
关键是,有很多方法可以在元素之间创建 10dp 的“透明边距”,以允许底层视图显示出来。我的问题在于为列表视图“正文”(即不是页眉/页脚)始终填充屏幕,即使列表部分填充或为空and同时保留标题中的透明度,以便我仍然可以看到 ListView“后面”的视图。