API Level 10 SDK (別名 2.3.3 ) をインストールしました。
FrameLayout にプログラムで追加されたボタンの単純な線形配置を作成しました。
minTargetVersion = "8" maxTargetVersion = "10"
ICS 4.0.4 デバイスで正しく動作します。シミュレータ上で正常に動作します。しかし、OS 2.3.5 または 2.3.6 を搭載したデバイスに apk をインストールすると、ボタンが左マージンのパラメーターに従わず、すべてが別のボタンに重なって表示されます。
FrameLayout は API レベル 1 で導入されましたが、実行中のデバイスは API レベル 10 以上であることがわかりましたが、これは問題にはなりません。
ボタンを追加する私のサンプルコード
Button b1 = new Button(this);
FrameLayout frameLayout = (FrameLayout)this.findViewById(R.id.mainActivityView);
FrameLayout.LayoutParams params = FrameLayout.LayoutParams(100,100); //a 100x100 button
params.leftMargin = 10; // in other buttons, this values is incremented as 100, 200
params.topMargin = 10;
frameLayout.addView(b1,params);
このような不適切な行動を引き起こしている原因を誰か教えてもらえますか?