Jon*_*n W 13 android listview background header transparent
我有一个自定义图像背景,填充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>
Run Code Online (Sandbox Code Playgroud)
所以,我尝试了各种方法来创建10dp填充程序,目前我正在使用"空"10dp LinearLayout,以便我可以获取对它的引用并在我想要时将其可见性设置为GONE(我不做在我讨论的情况下)
我正在设置ListView的背景,如下所示:listView.setBackgroundResource(resource).
再次,当我将背景设置为此ListView时,我得到所需的背景行为始终填满整个屏幕,即使我已添加到列表中的项目数量(顺便说一下,所有项目都使用与我相同的背景资源)设置为ListView)不足以填满屏幕.但是当我这样做时,标题中的10dp"透明边距"是不可见的,因为在它后面,ListViews背景阻止了底层视图被看到.
我假设发生这种情况是因为ListView的背景也落后于页眉和页脚视图.
关键是,有很多方法可以在元素之间创建10dp"透明边距",以允许底层视图显示.我的问题在于为ListView"body"(即不是页眉/页脚)创建一个总是填满屏幕的背景,即使列表部分填充或为空,同时保留标题中的透明度以便我仍然可以看到ListView"后面"的视图.
ListView
您需要通过以下设置使项目透明ListView
:
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
Run Code Online (Sandbox Code Playgroud)
然后您的项目布局需要具有任何颜色/图像(这将放在透明度之上)。
这应该可行,但在 Android 上将是一项繁重的工作,因为透明度确实对 Android 造成了影响,尤其是在有ListView
大量 UI 更新的情况下。
归档时间: |
|
查看次数: |
2782 次 |
最近记录: |