2016-02-11 35 views
2

我有一個靜態定義的相對佈局,其高度設置爲wrap_content動態修改靜態定義的佈局。無法看到應用的更改

我給它動態地添加了幾個孩子。這看起來很好。

我現在必須添加更多的孩子,並將他們排列在之前添加的孩子上方。這種作品。 (注:我只能這樣做一次先前添加的孩子其實已經添加的,因爲我的新的兒童依賴於它們的寬度。)

我只能看到的變化,如果我改變佈局高度說50dp VS WRAP_CONTENT。

我試着在持有佈局上打電話invalidate(),postInvalidate()requestLayout(),但那沒有奏效。我沒做什麼?

public void layOutExtras(CustomView section) { 
    if (section.isUnderlined()) { 
     int labelOrientation = section.getLabelOrientation(); 
     View line = createLine(labelOrientation, section.getMeasuredWidth(), section.getId()); 
     addView(line); 
    } 
} 

private View createLine(int orientation, int width, int viewId) { 
    RelativeLayout.LayoutParams params = new LayoutParams(width, 4); 
    params.addRule(ABOVE, viewId); 
    params.addRule(ALIGN_RIGHT, viewId); 
    View line = new ImageView(context); 
    line.setBackgroundColor(Color.RED); 
    line.setLayoutParams(params); 
    return line; 
} 
+0

您當然可以通過編程方式更新視圖。這一直髮生。但是你並沒有真正說出你想要做什麼,展示你的佈局或截圖,以顯示你期望的與實際發生的不同。 –

回答