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

博主在项目中使用ListView控件,自定义每个List Item的layout,设置背景后在Android 4.0及以下版本效果出不来。经排查,将背景设置放到顶级LinearLayout配置中生效。结论是ListView中设置背景资源的item,背景需给顶级layout指定,否则无法生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值