我有一个horizontal list
并且每个列表项都有一个背景填充视图,它应该是列表视图内另一个视图(bottleoverlay)高度的一定百分比。
这一切都有效,除了我找不到使用这个问题getHeight()
中所说的bottleoverlay视图的高度。我尝试按照建议使用 onGlobalLayout 侦听器,但是无论设置时使用什么值,所有项目的填充高度都是相同的 layoutparams.height
有没有更简单的方法可以做到这一点,bottleheightoverlay
列表中的每个项目都是相同的。
public class ImageAdapter extends BaseAdapter {
// varible declaration...
// getView that displays the data at the specified position in the data set.
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
......
......
//increase height of filler
int bottleHeight = gridView.findViewById(R.id.bottleoverlay).getHeight();
FrameLayout backgroundfill = (FrameLayout) gridView.findViewById(R.id.backroundfillbar);
double percent = products.get(position).value/ products.get(0).value;
backgroundfill.getLayoutParams().height = (int) ( (bottleHeight/percent));