我的代码:
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无关 请指示我将保证金值除以任何用途。
答案 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);
编辑:如果你想添加更多观看次数,那么你应该为每个观看点创建layoutparams
和use 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);
左边距,上边距,右边距,下边距均为整数 值,您想要为您的视图设置的值