前言

在Layout中指定好background和padding以后,程序里面动态修改background之后padding就失效了,貌似是一个BUG,这里找到了一篇英文文章,简单翻译分享一下。


声明
欢迎转载,但请保留文章原始出处:) 
博客园:http://www.cnblogs.com

    农民伯伯: http://over140.cnblogs.com

正文

一、折中办法

1.1 方法一

int bottom = theView.getPaddingBottom();
    int top = theView.getPaddingTop();
    int right = theView.getPaddingRight();
    int left = theView.getPaddingLeft();
    theView.setBackgroundResource(R.drawable.entry_bg_with_image);
    theView.setPadding(left, top, right, bottom);

1.2 方法二

int pad = resources.getDimensionPixelSize(R.dimen.linear_layout_padding);
  theView.setBackgroundResource(R.drawable.entry_bg_with_image);
  theView.setPadding(pad, pad, pad, pad);

代码说明:

实际上就是在setBackgroundResource之后重新设置一下padding。

二、原帖网址

http://stackoverflow.com/questions/5890379/android-setbackgroundresource-discards-my-xml-layout-attributes

三、搜索关键字

GOOGLE:"android setbackgroundresource changes padding"

结束 

搜索引擎基本能解决我99%的问题,中文关键字不行换英文关键字,或者直接搜索代码,初学者应把搜索尽快当成自己最重要的学习工具,以后类似的文章我也尽量把搜索关键字给加上。

[Android疑难杂症]动态改变Background后Padding无效的问题相关推荐

  1. Android Studio||动态改变xml图片位置+背景/旋转+平移/AnimationSet/java读取drawable图

    step by step. 目录 参考: 平移(TranslatAnimation) 旋转(RotateAnimation) AnimationSet xml:(正常设置即可) java: java读 ...

  2. 安卓Android Studio Button按钮background不生效无效问题

    今天又是无语的一天...... 在学习安卓按钮这部分的时候,我新建了xml资源文件用来专门配置按钮的样式: <?xml version="1.0" encoding=&quo ...

  3. Winform动态增加ComboBox后SelectedValue无效的问题

    窗体上动态创建ComboBox控件,并且打算初始化时自动选定值为"2"的项,代码如下: ComboBox comboBoxCarPlateColor = new ComboBox( ...

  4. Winform动态增加ComboBox后SelectedValue无效的问题(续)

    场景1:当ComboBox的Parent为空时,设置SelectedValue是无效的. 场景2:设置完SelectedValue后如果ComboBox的Parent发生变化,那么SelectedVa ...

  5. [Android疑难杂症]动态设置TextView的width不起作用

    前言 想用动态变化TextView的width属性来实现字幕效果,结果发现直接setWidth不起自用,这里分享一下办法. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.c ...

  6. Android中动态改变布局中控件的位置

    一.通过ViewGroup.LayoutParams() 以控件在RelativeLayout中为例,其他布局中也是一样的,可以通过修改控件的magin属性来改变控件的位置. // 需要注意的是,此时 ...

  7. Android之动态改变控件大小

    利用getLayoutParams()方法和setLayoutParams()方法. 三步曲: 1.首先利用getLayoutParams()方法,获取控件的LayoutParams. eg:Layo ...

  8. android 动态改变listview的内容

    本文模拟:点击一个按钮,为已有的listview添加一行数据 <?xml version="1.0" encoding="utf-8"?> < ...

  9. 【Android 进程保活】oom_adj 值 ( oom_adj 值对应的进程优先级 | oom_adj 值动态改变 | 进程保活优化方向 )

    文章目录 一.oom_adj 值对应的进程优先级 二.oom_adj 值动态改变 1.正常运行时的 oom_adj 值 2.按下 Home 键后的 oom_adj 值 3.按下回退键后的 oom_ad ...

最新文章

  1. 在腾讯,我的试用期总结!
  2. 使用Win32汇编开发一个dll并在C#中调用
  3. js 连接mysql_JS连接数据库
  4. ASP.NET2.0 验证cookie详解
  5. JavaScript算法相关
  6. c#调用c++dll找不到入口点,一秒搞定
  7. Pytorch中变量在tensor与numpy之间转换,tensor在CPU和GPU之间转换
  8. python流程自动化_python selenium 自动化流程的一些总结与思考
  9. linux挂steam游戏时长,steam挂游戏时长工具
  10. asa 防火墙拦截了https_思科ASA防火墙下抓包方法
  11. 不要说话 -- 陈奕迅/小柯
  12. centos 7重置密码
  13. Unity 3D 海水的实现2 折射与反射 离屏相机的渲染
  14. 酷派android最新版本,酷派手机怎么升级系统 酷派手机系统升级操作方法介绍
  15. ntlm-auth java_JAVAMAIL:AUTH NTLM失败
  16. ESP8266_21基于ESP8266的一键配网
  17. Data Whale第20期组队学习 Pandas学习—第一次综合练习
  18. Pytorch将多维张量转换为一维
  19. Shell脚本语法3.21
  20. 【软考】系统集成项目管理工程师(十五)项目采购管理

热门文章

  1. 征途单机版场景服务器端口被占用,模拟城市5解决端口被占用的方法
  2. 期末微积分考试试题求解 :利用python求解
  3. 测试逐飞的MM32F3277 MicroPython开发板的基本功能
  4. MATLAB在AI方面的应用工具
  5. AD8606跟随器与倍乘电路模块
  6. canva旋转图片 js_js和canvas实现旋转图片
  7. echarts 地图 scatter点击事件_React实现高亮可点击地图
  8. java solr 查询条件_05 java调用solr的api完成数据的查询
  9. FPGA之道(5)MOS管简介
  10. 【 MATLAB 】DFS 和 DTFT 之间的关系