0

我试图从代码中动态添加一些控件,而不是从.xml。我使用的代码如下:

protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            mainLayout = FindViewById<LinearLayout>(Resource.Id.mainLayout);

            Button test = new Button(Window.Context) { Text = "BLABLABLA" };
            test.SetWidth(100);
            test.SetHeight(100);

            LinearLayout.LayoutParams _params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WrapContent, LinearLayout.LayoutParams.WrapContent, 0.0f);
            _params.SetMargins(10, 10, 0, 0);
            mainLayout.AddView(test, _params);
        }

但是按钮没有出现在我的应用程序中。有什么问题?

更新:现在可以了!但我不明白我做了什么以及为什么它之前没有运行过。但无论如何谢谢大家。

4

2 回答 2

1

你错过了setContentView(mainLayout);你的onCreate()方法中的电话。

请注意,您必须在生成布局后调用此方法。

于 2013-03-06T13:47:24.000 回答
0

首先要设置 LayoutParams,您应该将其设置为 Button 测试,而不是像这样的布局:

test.setLayoutParams(_params);

然后将其添加到邮件布局中,如下所示:

mainLayout.AddView(test);
于 2013-03-06T14:04:20.250 回答