这两天弄一个项目,用到ListView控件,每个List Item都是自定义的layout,基本如下:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:background="@drawable/list_item_selector"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
对应的list_item_selector.xml文件内容如下:<?xml version="1.0" encoding="utf-8"?>
App启动以后,悲催的发现效果特奇葩,在Android4.0及其以下的版本中,效果出不来,用小米2S(Android 4.2系统)却有效果,于是各种排查。。。
最后试着把android:background="@drawable/list_item_selector" 放到最顶级d的LineaLayout配置中,再pao跑了一下,居然生效了!
貌似基本结论:对于ListView中要设置backgroundResource的item,必须得保证该background是给顶级layout指定的,否则不能正确获取焦点,无法生效。