在2.3以下和在Motorola手機上,使用
android:listSelector="@drawable/selector"之後, 預期效果是選到item時,item變成想要的顏色,
實際上卻發生,連listview背景一起變色的效果。
解決方式
將
@drawable/selector裡面使用的背景改為使用shape的drawable,
而不要使用@color。
http://stackoverflow.com/questions/10989225/android-listview-entire-list-getting-selected
http://stackoverflow.com/questions/2183447/listselector-applies-to-the-entire-list
嘗試這一則第一個回答裡的
android:drawSelectorOnTop="true"在我的case裡沒有用。
(最後使用下面網址的第二個回答,比較多vote的那一則)
在motorola 2.3手機中,
當listview item數太少填不滿整個listview時,
背景會變預設灰背景。
解決方式
若listview可以不用填滿整個parent,則改為wrap_content;
若需要填滿整個parent,像是還有pull refresh(pull down/pull up)的效果,
則可以另外多設屬性
android:overScrollFooter="@null"將多出的背景設為無。
(上面這種方式在motorola 2.3以上是有用的,以下未測試過)
設成
android:overScrollFooter="@android:color/transparent"是無效的,
設成
android:overScrollFooter="背景顏色",會導致使最後一個divider消失,
就算使用了
android:footerDividersEnabled="true"也不會出現。
android:footerDividersEnabled在一般時候可以控制最後一條divider的顯現與否。
http://stackoverflow.com/questions/4961999/remove-bottom-divider-of-a-android-listview
http://stackoverflow.com/questions/6209114/list-view-footer-background-on-android-2-3-3
這邊第一則回答在2.1/2也可以使用,有機會來試試看。
沒有留言:
張貼留言