none
Criar RelativeLayout+childres via codigo Xamarin.Android RRS feed

  • Pergunta

  • Bom galera Estou com um problema muito chato, estou estou desenvolvedo um app que complementa meu sistema para lanchonetes e estou tendo problema ao criar relativelayout e adicionar views nele, eu consego criar de boa colocar os views mas por algum motivo os layoutparaments não aplicam e fica tudo bugado, deve ficar dessa forma abaixo rsrs mas sai o nome do produto por baixo da img, e eu seto o Rigth="ID" mas não vai nem mesmo um margim left é aplicado, vou postar o codigo a baixo para ver se alguem acha algum erro meu.

    Imagem

     LayoutParams lp = new LayoutParams(LayoutParams.MatchParent, 150);

                        lp.Gravity = GravityFlags.Left;

                        lp.LeftMargin = 250;


                        LayoutParams lp2 = new LayoutParams(130, 130);

                        lp2.Gravity = GravityFlags.Left ;


                        LayoutParams lp3 = new LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent);

                        lp3.Gravity = GravityFlags.Center ;

                        lp3.LeftMargin = 12;

                        //List<string> lista = dados2();

                        //AbreConexao();

                        line.RemoveAllViews();

                        while (a != dt.Rows.Count)

                        {

                            //realtivo layout

                            var relative = new RelativeLayout(this)

                            {

                                Id = int.Parse("10" + dt.Rows[a]["codigo"].ToString()),

                            };

                            relative.SetBackgroundResource(Resource.Drawable.backlinha);

                            //imagem do produto

                            Button myButton = new Button(this);

                            myButton.Gravity = GravityFlags.Left;

                            myButton.LayoutParameters = lp2;

                            //myButton.TranslationX = -52;

                            //myButton.TextAlignment = TextAlignment.Center;

                            //myButton.SetTextColor(Android.Graphics.Color.White);

                            //myButton.SetTextSize(Android.Util.ComplexUnitType.Dip,24);

                            //myButton.SetBackgroundResource(2130837599);

                            if (dt.Rows[a]["img"].ToString() != "")

                            {

                                byte[] data0 = (byte[])dt.Rows[a]["img"];

                                MemoryStream ms0 = new MemoryStream(data0);

                                myButton.SetBackgroundDrawable(Android.Graphics.Drawables.Drawable.CreateFromStream(ms0,"categoria"));

                            }

                            //myButton.Text = dt.Rows[a]["nome"].ToString();

                            myButton.Id = int.Parse(dt.Rows[a]["codigo"].ToString());

                            myButton.Click += myButon_cliki;

                            //myButton.id


                            //texto com o nome do produto

                            TextView txtprod = new TextView(this)

                            {

                                Right = int.Parse(dt.Rows[a]["codigo"].ToString()),Gravity = GravityFlags.Center


                            };


                            txtprod.TextSize = 24f;

                            txtprod.SetTextColor(Android.Graphics.Color.Black);

                            //txtprod.LayoutParameters = lp3;

                            txtprod.Text = dt.Rows[a]["nome"].ToString();

                            relative.SetGravity(GravityFlags.Center);

                            relative.AddView(txtprod);

                            relative.AddView(myButton);

                            relative.LayoutParameters = lp;


                            line.AddView(relative);

    sábado, 22 de dezembro de 2018 02:15