为什么以编程方式添加按钮的代码不起作用?

时间:2014-09-23 06:18:34

标签: android

我正在尝试以编程方式向Relative Layout添加一些按钮。我使用了一些在StackOverflow上看到的例子,但由于某些原因我无法理解,我的代码无法正常工作:我希望我的按钮一个在另一个之上,但它们最终成为一个在另一个之上。 这是我的布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/mainLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.android.myApp.MainActivity" >

</RelativeLayout>

这是我的代码:

    mLayout = (RelativeLayout) findViewById(R.id.mainLayout);
    RelativeLayout.LayoutParams lprams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                                                                         RelativeLayout.LayoutParams.WRAP_CONTENT);

    Button btnTag = new Button(this);
    btnTag.setText("Button0");
    btnTag.setId(0);
    btnTag.setOnClickListener(mGlobalOnCLickListener);
    mLayout.addView(btnTag, lprams);
    lprams.addRule(RelativeLayout.BELOW, 0);

    btnTag = new Button(this);
    btnTag.setText("Button2");
    btnTag.setId(1);
    btnTag.setOnClickListener(mGlobalOnCLickListener);
    mLayout.addView(btnTag, lprams);

1 个答案:

答案 0 :(得分:1)

查看此代码....希望这会有所帮助

mLayout =(RelativeLayout)findViewById(R.id.mainLayout);  RelativeLayout.LayoutParams lprams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,                              RelativeLayout.LayoutParams.WRAP_CONTENT);

Button btnTag = new Button(this);
btnTag.setText("Button0");
btnTag.setId(10);
btnTag.setOnClickListener(mGlobalOnCLickListener);
mLayout.addView(btnTag, lprams);


lprams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                         RelativeLayout.LayoutParams.WRAP_CONTENT);

lprams.addRule(RelativeLayout.BELOW, 10);
btnTag = new Button(this);
btnTag.setText("Button2");
btnTag.setId(1);
btnTag.setOnClickListener(mGlobalOnCLickListener);
mLayout.addView(btnTag, lprams);                                        
相关问题