这个需求一般不常用,不过遇到也挺郁闷的。这个应该算是SDK的一个bug,解决的办法,就是设置之前记录下来他的边距,
然后在设置回去。
具体方法
/**
* 设置不改变padding的背景
* 因为android有设置背景后,padding无效的问题
*
* @param view
* @param resId
* @autor wujiajun
*/
public static void setBackgroundResourceWithPadding(View view, int resId) {
int bottom = view.getPaddingBottom();
int top = view.getPaddingTop();
int right = view.getPaddingRight();
int left = view.getPaddingLeft();
view.setBackgroundResource(resId);
view.setPadding(left, top, right, bottom);
}