【发布时间】:2015-04-06 13:53:03
【问题描述】:
我在水平滚动视图中有一个线性布局,我想根据其内容调整填充。我正在使用水平滚动视图的 onLayout 调用。
@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();
}
我已经记录了所有尺寸,除了填充之外,所有尺寸似乎都是准确的。在我再次更改视图的可见性之前,内容上的填充是不可见的。如您所见,我试图使内容无效,但布局的宽度在重新绘制之前仍然没有填充。是否可以强制绘制?
【问题讨论】:
标签: android android-linearlayout horizontalscrollview