近日,在開發過程中 遇到了 Layout 代碼中設置 Background 後,padding失效的問題,只是在Android 4.4.4 和 4.4.2 的手機上遇到了。 網上搜索了下,說是 4.4 系統里的一個bug,解決方法就是 在動態設置 Background 後,重新設置 padding。 ...
近日,在開發過程中 遇到了 Layout 代碼中設置 Background 後,padding失效的問題,只是在Android 4.4.4 和 4.4.2 的手機上遇到了。
網上搜索了下,說是 4.4 系統里的一個bug,解決方法就是 在動態設置 Background 後,重新設置 padding。
解決方法如下:
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);
原帖網址