我有一个列表视图与一些XML作为布局文件。在这个文件中,我有一个线性布局作为根,这个线性布局有一个60dp的高度尺寸。列表选择器更改我的列表项高度大小
对于这个LinearLayout中我使用列表选择的背景 - 当列表中的该入口的点击背景会变成另一种颜色(通过PNG - gredient颜色),而压。
的问题是,虽然,这样我的ListView使用给我不同的布局高度尺寸时。假设我的名单有7个输入,其中一个输入(随机选择,据我所知)稍高于其余。
如果我抛弃列表选择,并且只使用1背景png文件,我得到我所有的enteries相同,因为他们应该,但是当按下一个条目我就失去了颜色变化。
对此有何想法? 这里是列表enteries布局的代码。
<?xml version="1.0" encoding="utf-8"?>
<!-- The selector for this LinearLayout (@drawable/list_selector) -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/layoutBG"
android:layout_height="wrap_content"
android:background="@drawable/list_selector"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:orientation="horizontal" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="30dp"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:shadowColor="@color/white"
android:shadowDx="60"
android:shadowRadius="60" >
<TextView
android:id="@+id/rawId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingLeft="3px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:textColor="@color/white"
android:textSize="18dip" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dp"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:shadowColor="@color/white"
android:shadowDx="60"
android:shadowRadius="60" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:shadowColor="@color/white"
android:shadowDx="60"
android:shadowRadius="60" >
<TextView
android:id="@+id/Info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingLeft="3px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:text="@string/info"
android:textColor="@color/Green2"
android:textSize="15dip" />
<TextView
android:id="@+id/dateDisp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingLeft="3px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:text="Date"
android:textColor="@color/white"
android:textSize="15dip" />
<TextView
android:id="@+id/day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingLeft="3px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:text="Day"
android:textColor="@color/white"
android:textSize="15dip" />
</LinearLayout>
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="75dip"
android:layout_height="wrap_content"
android:orientation="vertical"
android:shadowColor="@color/white"
android:shadowDx="60"
android:shadowRadius="60" >
<TextView
android:id="@+id/timestarted"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingLeft="3px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:text="@string/timeStarted"
android:textColor="@color/Green2"
android:textSize="15dip" />
<TextView
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingLeft="3px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:textColor="@color/white"
android:textSize="15dip" />
<TextView
android:id="@+id/finish"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingLeft="3px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:textColor="@color/white"
android:textSize="15dip" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:shadowColor="@color/white"
android:shadowDx="60"
android:shadowRadius="60" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical"
android:shadowColor="@color/white"
android:shadowDx="60"
android:shadowRadius="60" >
<TextView
android:id="@+id/hourMin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="right"
android:paddingLeft="5px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:text="@string/duration"
android:textColor="@color/Green2"
android:textSize="15dip" />
<TextView
android:id="@+id/shiftDisp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="right"
android:paddingLeft="5px"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowRadius="2"
android:text="ShiftDisp"
android:textColor="@color/white"
android:textSize="15dip" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
The list selector xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true" android:dither="true">
<item android:drawable="@drawable/li2" android:state_first="true"/>
<item android:drawable="@drawable/liner2" android:state_pressed="true"/>
<item android:drawable="@drawable/li2" android:state_pressed="false"/>
</selector>
xml中的双正斜杠不会创建注释。我把它改成正确的格式,其正确性 –
感谢你 – Yosi199
http://samir-mangroliya.blogspot.in/2012/05/android-sectioned-listview-with-search_6865.html –