我有一个自定义视图,派生自Button
,我想在运行时相对于另一个视图定位。因为当我的视图被夸大时(因为布局尚未开始)我还不知道其他视图的位置,所以我利用onSizeChanged
处理程序来设置我的视图相对于另一视图的位置。
在onSizeChanged
:
LayoutParams lp = new LayoutParams(this.getMeasuredWidth(), this.getMeasuredHeight());
lp.leftMargin = x;
lp.topMargin = y;
this.setLayoutParams(lp);
forceLayout();
但是,这没有任何效果。怎么样?
答案 0 :(得分:4)
需要考虑的一些事项:
hierarchyviewer
中的用户界面以查看是否设置了边距,但它们根本没有您期望的视觉效果?RelativeLayout
LayoutParams
而不是替换它?