【问题标题】:ListView Item appear strange drawableListView Item 出现奇怪的drawable
【发布时间】:2013-12-16 16:55:11
【问题描述】:

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

文件 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 中出现可绘制的 icon_loading 数据行。我无法理解.. :(

我附上了两个文件(图片)。 android 4.0 正确,android 2.3 或 2.2 错误

布局行:

    <?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 抱歉,我在列表视图中隐藏了内容数据 :)

【问题讨论】:

  • 发布行的xml布局。
  • 这个问题大家可以理解,帮帮我:(

标签: android listview animation progress-bar drawable


【解决方案1】:

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

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

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

【讨论】:

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