2

我已经安装了 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);

谁能让我知道是什么导致了这种不当行为?

4

1 回答 1

0

尝试为您的参数添加重力。

params.gravity = Gravity.START | Gravity.TOP;

我有同样的问题,它解决了它。

于 2014-04-10T21:50:28.203 回答