视图未在水平LinearLayout

时间:2016-06-21 08:05:17

标签: android android-layout

在ListView getview()方法中,我构建了这样的布局:

LinearLayout layout = new LinearLayout(context);
layout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 200));
layout.setWeightSum(120);
for (int i = 0; i < totalTVNumber; i++) {
    LifeEvent event = getEventFromDB(cost, position);
    if (event != null) {
        TextView eventTV [![enter image description here][1]][1]= event.getTextView(getContext());
        eventTV.setLayoutParams(new LinearLayout.LayoutParams(0, 200, getTheWeight(eventTV)));
        layout.addView(eventTV);
    }
}

问题在于这样做会导致我的视​​图不能完全垂直对齐。由于它们具有与布局相同的高度,我希望它们匹配它,但是一些视图(接近1对2)就像它们有一点边缘顶部。当然,在我的代码中没有像margin-top那样的东西,并且读取它们的余量onClick返回0。

添加layout.setGravity(Gravity.TOP);不会改变任何内容,添加eventTV.setGravity(Gravity.TOP);只需将文字放在电视顶部。

请注意,如果我为该事件选择200 MATCH_PARENT intead,它的行为完全符合预期,但我希望视图比布局小一点,以便在它们之间产生一点差距。

如果重要,LinearLayout可以包含2到9个文本视图,并且它们的权重计算总和为120(例如44 + 34 + 2 + 40)。水平行为是可以的。

如何在水平线性布局的顶部对齐视图?

编辑:这是截图:

0 个答案:

没有答案