我正在尝试以编程方式定义我的程序布局,并在某个位置添加一个按钮。我没有使用布局xml作为内容视图。
RelativeLayout mainLayout;
mainLayout = new RelativeLayout(this);
mainLayout.setLayoutParams(new
LayoutParams(LayoutParams.FILL_PARENT,android.view.ViewGroup.LayoutParams.FILL_PARENT));
然后我添加了一个我要应用属性的按钮
layout align center
parent align left
height 60px
width 60px
这是迄今为止的按钮
Button BtnNext = new Button(this);
BtnNext.setWidth(60);
BtnNext.setHeight(60);
BtnNext.setFocusable(true);
BtnNext.setId(idBtnNext);
BtnNext.setText("Next");
mainLayout.addView(BtnNext, 1);
高度和宽度无法正常工作。
答案 0 :(得分:3)
您好,您可以尝试设置布局参数
RelativeLayout.LayoutParams rel_btn = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
rel_btn.height = 60;
rel_btn.width = 60;
BtnNext.setLayoutParams(rel_btn);
您还可以通过设置相对布局参数(如
)为Button添加规则和设置边距 rel_btn.addRule(RelativeLayout.CENTER_VERTICAL);
rel_btn.leftMargin = 220;
答案 1 :(得分:2)
高度和宽度不会如您所愿,因为您没有使用与密度无关的像素(倾角)
您在此处设置的值以像素为单位
您可以将像素转换为dip
final float scale = getResources().getDisplayMetrics().density;
int dip = (int) (60 * scale + 0.5f);
您将获得更准确的结果