【问题标题】:android-listview problem with transparent cellsandroid-listview 透明单元格的问题
【发布时间】:2011-03-31 14:11:15
【问题描述】:

我想制作一个带有半透明单元格的列表视图(某种蓝色,不透明度为 25%)。

列表视图创建正确,但是,当我执行滚动动作(我按下并向下或向上拖动)时,列表似乎激活了某种选择机制,它将黑色和不透明的背景应用于列表。

有什么办法可以摆脱这个吗?

下面是代码和两个屏幕:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" android:background="@drawable/background">
<ImageView android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:background="@drawable/my_health_title">
</ImageView>
<ListView android:id="@+id/health" android:layout_width="wrap_content"
    android:layout_height="wrap_content">
</ListView>

<TextView android:id="@+id/health_title" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:textColor="#46727c"
    android:textSize="14sp" android:textStyle="bold"
    android:layout_marginTop="20dp" android:layout_marginLeft="30px"
    android:text="Blood presure Profile">
</TextView>

<LinearLayout android:id="@+id/health_gauge"
    android:layout_width="250dp" android:layout_height="35dp"
    android:layout_centerVertical="true" android:layout_marginLeft="20dp">
</LinearLayout>

<TextView android:id="@+id/health_description"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:textColor="#46727c" android:textSize="12sp" android:textStyle="normal"
    android:layout_marginTop="150px" android:layout_marginLeft="30px"
    android:text="Looks Goood">
</TextView>

<ImageView android:id="@+id/health_details"
    android:background="@drawable/home_arrow_icon_margin"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_alignParentRight="true" android:layout_centerVertical="true">
</ImageView>

normal list

selected efect

【问题讨论】:

    标签: android android-listview


    【解决方案1】:

    我做了一个类似问题的噩梦。但我是动态添加 ListView 的,并且

    android:cacheColorHint="#00000000"
    

    在这种情况下不起作用。解决办法:

    不要动态添加ListView,cacheColorHint不起作用

    希望这对某人有所帮助!

    【讨论】:

    • 你可以通过编程方式设置:listView.setCacheColorHint(0)
    【解决方案2】:

    只需在 ListView 上将 android:cacheColorHint 设置为 #00000000

    请注意,颜色代码是一个 8 位代码 (#AARRGGBB),这意味着前两位数字代表颜色的 alpha。 (如果将其设置为 6 位,#000000 将无济于事,因为它仍然是不透明的。有关颜色代码的更多信息,请单击 here)。

    您的列表视图应如下所示:

    <ListView android:id="@+id/health" android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:cacheColorHint="#00000000">
    </ListView>
    

    更多细节和解释可以在here找到。

    【讨论】:

    • 设置 android:cacheColorHint="#00000000" 有效。

      感谢 Sanj 和 bbalazs

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多