我尝试从代码中动态添加一些控件,而不是从.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);
}
但按钮不会出现在我的应用程序中。什么可能是错的?
更新:现在可行了!但我不明白我做了什么,以及为什么它没有运行过。但无论如何,谢谢大家。
答案 0 :(得分:1)
您错过了setContentView(mainLayout);
方法中的onCreate()
来电。
请注意,您必须在>>生成布局后调用此方法。
答案 1 :(得分:0)
首先要设置LayoutParams,你应该将它设置为Button测试而不是像这样的布局:
test.setLayoutParams(_params);
然后将其添加到邮件布局中,如下所示:
mainLayout.AddView(test);