以编程方式使用AddView时奇怪的上边距

时间:2014-07-04 08:15:19

标签: android layout programmatically-created

我有一个很大的问题,我正在尝试以编程方式添加Imageview,但我遇到了一个奇怪的问题:

我在XML中添加了一个与父项匹配的空相对布局。 代码方面我正在为相对布局添加一个imageview。

一切正常,图像视图可见且尺寸正确,但问题是“0,0”位置很奇怪。似乎它有一个顶部保证金,而左边距正确为0.同样使用这个奇怪的顶部边框将SetX / SetY结果强制为“0,0”:

图像:

enter image description here

代码:

base_layout = (RelativeLayout) findVieById(R.id.base_layout);

image_logo = New Imageview(this);
base_layout.AddView(image_logo);

image_logo.SetPadding(0,0,0,0);
image_logo.SetX(0);
image_logo.SetY(0);
image_logo.SetImageResource(R.drawable.generic_image);
image_logo.SetVisibility(View.VISIBLE);

我不明白为什么......清单中的活动有其通常的Theme.NoTitleBar.Fullscreen标志。

有任何帮助吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

我使用RelativeLayout.LayoutParams汇总了一个示例,并自己尝试了,一切似乎都正常。

 base_layout = (RelativeLayout) findViewById(R.id.base_layout);        
 ImageView image_logo = new ImageView(this);
 RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width, height);
 image_logo.setLayoutParams(lp);
 base_layout.addView(image_logo);

以上显示了运行时的以下效果。

enter image description here

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"在清单中用于此Activity