【发布时间】:2013-11-22 20:17:19
【问题描述】:
我的项目中有一个 ListView,它在项目的背景中设置了一个模式
我的 xml 可绘制对象
temp_listview_sample.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list>
<item>
<shape>
<gradient android:angle="270" android:endColor="#00000000" android:startColor="#00000000" />
<stroke android:width="2dp" android:color="#CCA48300" />
<corners android:radius="5.1dp" />
<padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp" />
</shape>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/bg_list1" android:tileMode="repeat" />
</item>
</layer-list>
</item>
<item android:state_enabled="true">
<layer-list>
<item>
<shape android:shape="rectangle">
<gradient android:angle="270" android:endColor="#00000000" android:startColor="#00000000" />
<stroke android:width="2dp" android:color="#ff000000" />
<corners android:radius="5.1dp" />
<padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp" />
</shape>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/bg_list" android:tileMode="repeat" />
</item>
</layer-list>
</item>
</selector>
和我在 listview 适配器中的代码
sample_main_menu_layout_item = (ViewGroup) row1.findViewById(R.id.sample_main_menu_layout_item);
sample_main_menu_layout_item.setBackgroundResource(R.drawable.temp_listview_sample);
但 tilemode 在 android 4 以下无法使用
对不起,我说英语不好;)
我也使用了这些但不起作用 https://stackoverflow.com/a/11153248
https://stackoverflow.com/a/9500334
我在一个 xml 中有一个选择器、2 个图层列表和 2 个位图
谁能帮我解决它?
编辑:
我的列表视图项目的 xml 文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sample_main_menu_layout_item"
android:layout_width="fill_parent"
android:layout_height="80dip"
android:gravity="center_vertical"
android:orientation="horizontal"
android:background="@drawable/temp_listview_sample" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="top"
android:orientation="vertical"
android:layout_marginRight="4dip">
<TextView
android:id="@+id/txt_message_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/message_count_shape"
android:text="0"
android:maxHeight="20dp"
android:layout_gravity="top"
android:gravity="top"
android:textColor="#ffffffff"
android:textSize="12dip"
android:layout_marginTop="2dip"
android:layout_marginLeft="4dip"
android:visibility="visible" />
<ImageView
android:id="@+id/img_next"
android:layout_width="30dip"
android:layout_height="30dip"
android:layout_gravity="center_vertical"
android:background="@drawable/ic_previous_item" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:layout_marginRight="8dip"
android:gravity="center_vertical|center_horizontal"
android:orientation="vertical"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip" >
<TextView
android:id="@+id/txt_text_menu"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="#ffffffff"
android:textSize="20dip"
android:layout_gravity="right|center_vertical"
android:gravity="right"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginRight="8dip"
android:layout_marginLeft="4dip" >
<ImageView
android:id="@+id/img_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="centerInside"/>
</LinearLayout>
</LinearLayout>
【问题讨论】:
-
能否请您显示您在每个列表视图项目中使用的 xml? “row1”是您在 getView() 方法中使用的每一行的膨胀/回收视图,对吧?
-
没错,getview中的row1=convertView,是的,把xml放到post下面
-
我无法回答我的问题:D 我的 xml 文件是这个链接 uplooder.net/cgi-bin/…
-
我认为你放错了 xml 文件,因为那里没有 id 为 "sample_main_menu_layout_item" 的视图。您是否也有可能不使用“viewHolder”设计模式,如谷歌 IO 讲座“listView 的世界”中所示?
-
我不认为因为它在 android 4 中工作正常,但在 android 1-2-3 中存在一个错误,在两个向上链接中它解决了它包含选择器和位图但我的 xml 代码是包括选择器和图层列表和位图,它对我不起作用,这个链接stackoverflow.com/questions/7412430/…