FrameLayout.LayoutParams在不同的Android OS / API上的工作方式不同

时间:2013-05-24 08:05:56

标签: android layoutparams

FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams((int)width, (int)height);

    lp.width = (int) (width * 0.75f);
    lp.height = (int) (height * 0.5f);

    lp.setMargins((int) width/8, (int) height / 4, (int) (width - width/8) , (int) (height - height/4));
    addContentView(img, lp);

这应该在屏幕中央显示我的(ImageView)img。它在运行API 16的手机中按预期工作,但是当我使用API​​ 8在模拟器中调试时,img显示在左上角。

我厌倦了尝试使用RelativeLayout.LayoutParams.setMargins()或AddRule来中心调整父视图中的视图。无法得到它。任何帮助赞赏。

我没有使用任何XML文件来扩展我的viewgroup。我在我的活动中以编程方式添加视图。

enter image description here enter image description here

这就是我想要的,适用于OS 4.0。 &安培; ......第二张图片是OS2.0 - >我想解决这个问题。

1 个答案:

答案 0 :(得分:2)

修正:

lp.gravity = Gravity.FILL_HORIZONTAL;