ListView项目显得奇怪可绘制

时间:2013-12-16 16:55:12

标签: android listview animation progress-bar drawable

自定义进度条时我有一个问题。我为进度条创建了一个可绘制的动画。在对话框加载数据显示时,我将此drawable设置为progressbar。

文件anim_loading.xml

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/icon_loading"
android:pivotX="50%"
android:pivotY="50%" />

设置此drawable后,对话框加载数据。

public void showProgressDialog(String content, boolean cancleable) {
    progressDlg = ProgressDialog.show(this, "", content, true, true);
    progressDlg.setIndeterminateDrawable(getResources().getDrawable(R.drawable.anim_loading));
    progressDlg.setCancelable(cancleable);
    progressDlg.setOnCancelListener(this);
}

但是在android 2.2x或2.3x Listview中出现了数据行中的drawable icon_loading。我无法理解...... :(

我附上了两个文件(图片)。正确使用android 4.0,以及android 2.3或2.2的错误 enter image description here

enter image description here

布局行:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layoutRow"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/menu_item_selector"
    android:paddingBottom="4dp"
    android:paddingLeft="3dp"
    android:paddingRight="3dp"
    android:paddingTop="4dp" >

    <TextView
        android:id="@+id/txtCode"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_centerVertical="true"
        android:textColor="@color/RED_COLOR"
        android:textSize="25.0sp"
        android:textStyle="bold" />

    <RelativeLayout
        android:id="@+id/layoutInfo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="3dip"
        android:layout_toRightOf="@id/txtCode"
        android:padding="1.0dip" >

        <LinearLayout
            android:id="@+id/llContent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/txtName"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ellipsize="end"
                android:singleLine="true"
                android:textColor="@color/BLACK_COLOR"
                android:textStyle="bold" />

            <ImageView
                android:id="@+id/ivFavorite"
                android:visibility="gone"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="3dp"
                android:contentDescription="@string/app_name"
                android:src="@drawable/icon_love_small" /> 
        </LinearLayout>

        <TextView
            android:id="@+id/txtDetail"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/llContent"
            android:singleLine="true"
            android:textColor="@color/BLACK_COLOR"
            android:textSize="12.0sp"
            android:textStyle="italic" />
    </RelativeLayout>

</RelativeLayout>

行的选择器:

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

</selector>

希望有人帮我找到这个错误。 非常感谢!

p / s抱歉,我在listview中隐藏了内容数据:)

1 个答案:

答案 0 :(得分:0)

这是一个严重的问题。我刚解决了,但我无法解释原因。 重点是:

<item android:drawable="@color/TRANSPARENT"/>

你不应该将listview项目的正常背景设置为使用android 2.3或2.2透明。改变颜色,你会得到正确的结果。