如何在RelativeLayout

时间:2015-09-28 20:50:04

标签: java android android-layout button layout

我对此代码有疑问。我需要动态添加按钮到我的布局。此代码工作正常,但有一个例外。第二个按钮位于第一个按钮的顶部。这必须与LayoutParams有关,但我不确定是什么。

private void buttonmaker (Button button)
{
RelativeLayout.LayoutParams rlayout = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    rlayout.addRule(RelativeLayout.CENTER_VERTICAL);
    rlayout.addRule(RelativeLayout.ALIGN_LEFT);
    rlayout.width = 100;
    button.setId(Atom.count);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
         int id = v.getId();
            atoms[id].getname();
            TextView textview = (TextView)findViewById(R.id.textView2);
            textview.setText(textview.getText()+String.valueOf(atoms[id].getname()));
        }
    });
    if (Atom.count > 1) rlayout.addRule(RelativeLayout.RIGHT_OF,Atom.count-1); else rlayout.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    button.setLayoutParams(rlayout);

    RelativeLayout v = (RelativeLayout) findViewById(R.id.rlayout);

    v.addView(button);
}

1 个答案:

答案 0 :(得分:0)

问题是你在relativelayout中设置de按钮,在这个组件中,对象被一个在另一个上面添加,你尝试创建linearlayout global,其方向垂直或水平取决于你想要什么和添加按钮,以及它的全部< / p>