无法在不改变其大小的情况下定位RelativeLayout View的子项

时间:2013-02-04 18:31:13

标签: android-layout relativelayout

如果我尝试设置RelativeLayout视图的子项的顶部/左侧边距,以便子视图部分显示在屏幕的右侧/底部,则问题是视图缩小并显示为完全在屏幕上(满足上/左边距,但改变大小)。我不希望改变大小。

我通过设置顶部和左边距以编程方式设置RelativeLayout视图子视图的位置,如下所示:

RelativeLayout.LayoutParams childViewParams = new RelativeLayout.LayoutParams(250,250);
childView = new ImageView(this);    
relLayoutView.addView(childView);
childViewParams.leftMargin = somethingBigEnoughToPutOffRightHandSide;
childViewParams.topMargin = something;
childView.setLayoutParams(childViewParams);

如果我设置顶部/左侧边距,使得此子视图应显示在屏幕的左侧/顶部部分,则一切都按预期工作,大小没有变化,视图部分移出屏幕。

如何指定视图的位置,以便视图的大小永远不会改变,无论位置,部分还是完全关闭屏幕?

感谢。

1 个答案:

答案 0 :(得分:1)

所需要的只是将右边距和下边距设置为负值超过视图和屏幕的可能大小。像这样:

RelativeLayout.MarginLayoutParams params = (RelativeLayout.MarginLayoutParams) someView.getLayoutParams();
params.setMargins(leftMargin,rightMargin,-1000,-1000);
someView.setLayoutParams(params);