滚动时背景的Android ListView样式问题

时间:2011-05-24 18:59:23

标签: android android-widget

我需要设置ListView的样式,并且无法弄清楚为什么在滚动时它会转向黑色背景。我在LinearLayout中有ListView,并且该布局将背景设置为图像。

这就是我对ListView的看法:

<style name="MyListView" parent="@android:style/Widget.ListView">
        <item name="android:listSelector">@drawable/selector_list_item</item>
    </style>

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:state_focused="true"
          android:drawable="@drawable/shape_list_item_normal" />
    <item android:state_pressed="true"
          android:drawable="@drawable/shape_list_item_pressed" />
    <item android:state_focused="true"
          android:drawable="@drawable/shape_list_item_normal" />
</selector>

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <gradient android:startColor="#80ffffff" android:endColor="#80eff3ef" android:angle="45" />
    <padding android:left="5dip" android:right="5dip" android:top="7dip" android:bottom="7dip"/>
</shape>

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <gradient android:startColor="#80808080" android:endColor="#80eff3ef" android:angle="45" />
    <padding android:left="5dip" android:right="5dip" android:top="7dip" android:bottom="7dip"/>
</shape>

当我应用MyListView样式时,我看不到太多事情。当我点击项目 - 是的,我看到渐变。当ListView稳定时 - 我看到它应该来自父布局的背景。当我滚动 - 我看到黑色背景,它正在删除父母的背景。如果我知道如何用其他东西设置它,我会很好。

3 个答案:

答案 0 :(得分:8)

在listView的xml中使用以下属性:

android:cacheColorHint="@android:color/transparent"

答案 1 :(得分:0)

在listview的xml中尝试以下代码:

机器人:listSelector = “@机器人:彩色/透明”

答案 2 :(得分:0)

如果您需要ListView中的透明PreferenceActivity,请尝试使用

主题
<resources>

    <style name="MyPreferencesTheme">
        <item name="android:scrollingCache">false</item>
    </style>

</resources>

将主题放在AndroidManifest.xml

<activity 
    android:name="YourActivity" 
    android:theme="@style/MyPreferencesTheme">
</activity>