У меня есть линейная компоновка внутри горизонтального прокрутки, которую я хочу отрегулировать отступ в соответствии с ее содержимым. Я использую onLayout вызов горизонтального scrollview.Изменить размер макета на onLayout call
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
if(null != views && views.size() > 0) {
int paddingLeft = (getWidth()/2) - (views.get(0).getWidth()/2);
int paddingRight = (getWidth()/2) - (views.get(views.size()-1).getWidth()/2);
content.setPadding(getPaddingLeft() + paddingLeft, getPaddingTop(), getPaddingRight() + paddingRight, getPaddingBottom());
}
content.invalidate();
}
Я зарегистрировал все размеры и все, кажется, точны, кроме заполнения. Заполнение содержимого не отображается, пока я не изменю видимость представления еще раз. Как вы можете видеть, я попытался сделать недействительным содержимое, но все же ширина макета не будет заполнена, прежде чем снова будет повторно нарисована. Можно ли привлечь ничью?