Framelayoutだとマージンが効かないーって事があって、
LinearLayoutだと問題なく効くんだけど、
問題のソースコードは下記のような感じ
private void setMarginF(View v,int w,int h,int l,int t) {
FrameLayout.LayoutParams layout = new FrameLayout.LayoutParams(w, h);
layout.setMargins(l, t, 0, 0);
v.setLayoutParams(layout);
}
でこれを下記みたいにgravityを設定してあげる
private void setMarginF(View v,int w,int h,int l,int t) {
FrameLayout.LayoutParams layout = new FrameLayout.LayoutParams(w, h);
layout.setMargins(l, t, 0, 0);
layout.gravity = Gravity.TOP;
v.setLayoutParams(layout);
}
これでちゃんとマージンが効くようになります!