1
これは私のprevious questionに似ていますが、Kindle Fire(2.3.4)で動作しませんでした。
FragmentTransactionを使用して、FrameLayoutにFragmentを追加しました。私は、フラグメントによって使用されるRelativeLayoutのマージンを動的に変更したいと思います。RelativeLayoutの余白を設定すると、Kindleの火災で動作しません
ただし、Kindle FireのFrameLayout.layoutParamsでは余白が変わりません。しかし、これは3.2.1で動作します。私もsetMargins()を使って試してみました。
私は動的にKindleの火災の余白を変更する方法を知っていますか?
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 = 270;
int leftMargin = 0;
int topMargin = 0;
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(width, height);
if (x - width < 0) {
leftMargin = 0;
} else {
leftMargin = x - width + 40;
}
if (y >= 400 && y <= 480) {
topMargin = 160;
}
params.leftMargin = leftMargin;
params.topMargin = topMargin;
//params.setMargins(leftMargin, topMargin, 0, 0); //this didnt work either
infoLayout.setLayoutParams(params);
TextView titleView = (TextView) view.findViewById(R.id.titleCard);
titleView.setText(title);
return view;
}
がでframeLayoutまたはRelativeLayoutのサブビューinfoLayoutです完璧に動作OK? –
infoLayoutはRelativeLayoutです – heero
なぜRelativeLayout.LayoutParamsの代わりにFrameLayout.LayoutParamsを使用していますか? RelativeLayout.LayoutParamsを使ってみましたか?あなたはparams = infoLayout.getParams();を呼び出してみましたか?パラメータを再作成するのではなく編集するのですか? –