【发布时间】:2012-03-21 19:43:23
【问题描述】:
我使用 FragmentTransaction 将 Fragment 添加到 FrameLayout。我想动态更改 Fragment 使用的 RelativeLayout 的边距。但是,边距不会随 RelativeLayout.layoutParams 改变。我也用了setMargins(),但没用。
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.infocard, container, false);
RelativeLayout infoLayout = (RelativeLayout) view.findViewById(R.id.info);
infoLayout.setOnClickListener(new EmptyClickListener());
final int width = 250;
final int height = 320;
int leftMargin = 0;
int topMargin = 0;
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height);
if (x - width < 0) {
leftMargin = 0;
System.out.println("left " + leftMargin);
}
else {
leftMargin = x - width;
}
if (y >= 450 && y <= 480) {
topMargin = y - height;
}
params.leftMargin = leftMargin;
params.topMargin = topMargin;
infoLayout.setLayoutParams(params);
【问题讨论】:
标签: android layout android-relativelayout margins