Android中TextView、EditView、Button使用setBackgroundDrawable或setBackgroundResource则xml中设置的Padding失效。
我在xml布局中设置了TextView背景图片及Padding值,但是App中需要夜间/日间切换且不能使用recreate(),所以只能代码控制夜间/日间切换后的View的背景图片及字体颜色,但是效果非常令人不满意,在xml布局中设置的Padding值却失效了。初开始我还以为Padding值设置的小,后来发现不是这个原因。我尝试把代码中设置TextView的setBackgroundResource()方法注释掉,却正常了,那肯定是setBackgroundResource()方法造成的,所以代码里也要在设置背景图片后需要设置Padding值了。
TextView mTextView;
mTextView = ViewFinder(this, R.id.main_red_flag);
int _pL = mTextView.getPaddingLeft();
int _pT = mTextView.getPaddingTop();
int _pR = mTextView.getPaddingRight();
int _pB = mTextView.getPaddingBottom();
mTextView.setBackgroundResource(R.drawable.comments_num_bg_night);
mTextView.setPadding(_pL, _pT, _pR, _pB);