如何按比例将ImageView添加到屏幕中心

时间:2014-02-11 13:38:28

标签: android

我的代码:

Display display = getWindowManager().getDefaultDisplay(); 
final int width = display.getWidth();
final int height = display.getHeight();

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(200,200);
relativeLayout.addView(img1,params);
params.leftMargin = width/2;
params.topMargin = height/2;
setContentView(relativeLayout);

有人可以帮助我在每个分辨率下将我的img1放到屏幕中央吗? 我认为display.getwidth值与params.leftmargin无关 请指示我将保证金值除以任何用途。

1 个答案:

答案 0 :(得分:1)

试试这个

RelativeLayout.LayoutParams params =new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
img1.setLayoutParams(params);
relativeLayout.addView(img1);

编辑:如果你想添加更多观看次数,那么你应该为每个观看点创建layoutparamsuse addRule方法我只是举例说明如何放置一个观点在视图下,您可以将该视图right , left or above按照RelativeLayout.ALIGN_BOTTOM进行更改,并且可以使用RelativeLayout.LAYOUT_BELOW代替RelativeLayout.ALIGN_BOTTOM

p.addRule(RelativeLayout.ALIGN_BOTTOM, ur_view.getId());
  

如果你在xml中创建它会更容易

如果您想为任何视图设置保证金,请执行此类操作

p.setMargins(left margin, top margin, right margin, bottom margin);
  

左边距,上边距,右边距,下边距均为整数   值,您想要为您的视图设置的值