1
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 文件来扩充我的视图组。我在我的活动中以编程方式添加视图。

在此处输入图像描述 在此处输入图像描述

这就是我想要的,适用于 OS 4.0。& .... 第二张图片是 OS2.0 -> 这是我要修复的。

4

1 回答 1

2

使固定:

lp.gravity = Gravity.FILL_HORIZONTAL;
于 2013-05-25T01:52:44.223 回答