1

如果我尝试设置 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);

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

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

4

1 回答 1

1

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

RelativeLayout.MarginLayoutParams params = (RelativeLayout.MarginLayoutParams) someView.getLayoutParams();
params.setMargins(leftMargin,rightMargin,-1000,-1000);
someView.setLayoutParams(params);
于 2014-07-31T02:41:20.410 回答