动态改变LinearLayout的背景
2013-08-23 00:00
127 查看
背景:四个LinearLayout,每个LinearLayout里都包含textView\EditText等控件;实现每个editText获得焦点的时候 LinearLayout的背景状态也响应地改变;
实现:1、LinearLayout需要的不同的背景状态用单独的selector保存,设置默认状态和改变状态;
2、使用addStatesFromChildren来改变LinearLayout的状态;系统自动根据LinearLayout的状态来改变 LinearLayout的背景状态;
总结:我是在实战项目中遇到的这个问题的,当时是想改变LinearLayout的背景图片来标记用户当前选中的是哪个editText,显示突出效果;但是在网上找了很久都没有找到相关实现方法;自己也尝试用代码来实现,但是LinearLayout的状态在代码中标记好像也不管用;终于在http://blog.csdn.net/eyu8874521/article/details/8076955中找到了addStatesFromChildren的实现方法,然后试了就成功了。
addStatesFromChildren在API中的解释是Sets whether this ViewGroup's drawable states also include its children's drawable states.个人理解是,父控件的状态随子控件的状态改变而改变;所以我们可以使用addStatesFromChildren来控制布局管理器的状态,从而改变布局管理器的背景图片。
实现:1、LinearLayout需要的不同的背景状态用单独的selector保存,设置默认状态和改变状态;
2、使用addStatesFromChildren来改变LinearLayout的状态;系统自动根据LinearLayout的状态来改变 LinearLayout的背景状态;
总结:我是在实战项目中遇到的这个问题的,当时是想改变LinearLayout的背景图片来标记用户当前选中的是哪个editText,显示突出效果;但是在网上找了很久都没有找到相关实现方法;自己也尝试用代码来实现,但是LinearLayout的状态在代码中标记好像也不管用;终于在http://blog.csdn.net/eyu8874521/article/details/8076955中找到了addStatesFromChildren的实现方法,然后试了就成功了。
addStatesFromChildren在API中的解释是Sets whether this ViewGroup's drawable states also include its children's drawable states.个人理解是,父控件的状态随子控件的状态改变而改变;所以我们可以使用addStatesFromChildren来控制布局管理器的状态,从而改变布局管理器的背景图片。
相关文章推荐
- 点击LinearLayout动态改变其背景
- 动态改变LinearLayout的背景
- php动态改变选项卡背景
- 动态改变listctrl 单元格背景及文字颜色(非重写控件)
- android gridview点击子选项动态改变item背景颜色
- Android自定义TextView实心圆角颜色背景(动态改变圆角背景颜色)
- 如何使STATIC控件的背景透明以及动态改变控件文本内容时闪烁的问题
- 在程序中动态改变控件的背景颜色
- android中使用selector动态改变imageView或ImageViewButton的背景
- PB 动态改变菜单背景颜色
- vue动态改变背景图片demo分享
- android中使用selector动态改变imageView或ImageViewButton的背景
- cocos2dx 3.x(动态改变精灵的背景图片)
- 如何使STATIC控件的背景透明以及动态改变控件文本内容时闪烁的问题
- 点击linearlayout,改变背景颜色
- 控件容器如何点击后改变背景颜色(如LinearLayout...)
- PB 怎么动态(用代码)改变数据窗口的属性(例如窗体的字体大小,字体颜色,背景颜色)
- Handler动态改变TextView背景和字体颜色
- iOS 开发 解决UITableViewcell单选动态改变cell文字和背景颜色的功能,且第一次默认选择第一个cell
- 动态改变Drawable中我们自定义背景的颜色并设置颜色以16进制进行设置