Я тоже столкнулся с этой проблемой.Предположительно вы используете ресурс LayerList Drawable?Это то, что я использовал.К сожалению, я не нашел «реального» способа исправить это, это похоже на ошибку в коде, но я не преследовал ее.Тем не менее, мне повезло в том смысле, что я устанавливал «глючный» фон после того, как мое представление уже было правильно отрисовано, так что это был просто вопрос сохранения, а затем восстановления значений отступов после установки фона, например:
if(condition) {
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);
}
РЕДАКТИРОВАТЬ: В качестве альтернативы вам не нужно использовать предыдущие значения отступа, вы также можете использовать значение измерения:
int pad = resources.getDimensionPixelSize(R.dimen.linear_layout_padding);
theView.setBackgroundResource(R.drawable.entry_bg_with_image);
theView.setPadding(pad, pad, pad, pad);