android中background错误,关于android:background不生效问题

公西光华
2023-12-01

这两天弄一个项目,用到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指定的,否则不能正确获取焦点,无法生效。

 类似资料: