1

LL の topMargin を初めて設定すると、問題なく動作します。

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(bar.getLayoutParams());
lp.height = MAX_HEIGHT * values.get(i)/MAX_VAL;
bar.setLayoutParams(lp);

xmlに関しては、基本的にはLL内のLL(バー)です。このコードを2回目に呼び出してみると、視覚的には何も変わりません(ただし、LogCat は高さが変化することを示しています)。invalidate()requestLayout()forceLayout()メソッドで遊んでみましたが、何も起こりません。グーグルは役に立ちませんでした-人々はさまざまな問題を抱えているようです。助けてください。

編集: はい、UI スレッドで呼び出されるため、postInvalidate() は機能しません。

4

0 に答える 0