如何从代码创建UI?

时间:2013-03-06 13:46:21

标签: android xamarin

我尝试从代码中动态添加一些控件,而不是从.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);
        }

但按钮不会出现在我的应用程序中。什么可能是错的?

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

2 个答案:

答案 0 :(得分:1)

您错过了setContentView(mainLayout);方法中的onCreate()来电。

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

答案 1 :(得分:0)

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

test.setLayoutParams(_params);

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

mainLayout.AddView(test);