繁体   English   中英

我如何在RelativeLayout中获得不相互重叠的按钮

[英]How do I get buttons not to sit on top of each other in RelativeLayout

我对此代码有疑问。 我需要将按钮动态添加到布局中。 这段代码可以正常工作,只有一个例外。 第二个按钮位于第一个按钮的顶部。 这一定与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);
}

问题是您在relativelayout中设置了按钮,在此组件中,一个对象被添加到另一个对象上,您尝试根据想要的方向创建垂直或水平方向的linearlayout全局,并添加按钮及其全部

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM