Exemplo n.º 1
0
        public void ViewsHaveMatchingTypeHashCodes()
        {
            var text  = new Text("Foo").GetContentTypeHashCode();
            var text2 = new Text("Bar").GetContentTypeHashCode();

            Assert.Equal(text, text2);

            text = new HStack()
            {
                new Text("Foo"),
            }.GetContentTypeHashCode();

            text2 = new HStack()
            {
                new Text("Bar"),
            }.GetContentTypeHashCode();

            Assert.Equal(text, text2);


            text = new HStack()
            {
                new Text("Foo"),
                new Button("Foo"),
            }.GetContentTypeHashCode();

            text2 = new HStack()
            {
                new Text("Bar"),
                new Button("Bar"),
            }.GetContentTypeHashCode();

            Assert.Equal(text, text2);

            //Not Equal Section

            text = new HStack()
            {
                new Text("Foo"),
            }.GetContentTypeHashCode();

            text2 = new HStack()
            {
                new Button("Bar"),
            }.GetContentTypeHashCode();

            Assert.NotEqual(text, text2);

            text = new HStack()
            {
                new Text("Foo"),
            }.GetContentTypeHashCode();

            text2 = new VStack()
            {
                new Button("Foo"),
            }.GetContentTypeHashCode();

            Assert.NotEqual(text, text2);
        }
Exemplo n.º 2
0
        public void Test3()
        {
            HStack      hStack = new HStack();
            Stack <int> stack  = new Stack <int>();

            hStack.Push(1);
            stack.Push(1);

            Assert.Equal(stack.Pop(), hStack.Pop());
        }
Exemplo n.º 3
0
        protected void UpdateChildren(HStack stack)
        {
            var children = stack.GetChildren();

            if (views.Count == children.Count)
            {
                bool areSame = false;
                for (var i = 0; i < views.Count; i++)
                {
                    var v = views[i];
                    var c = children[i].ToView();
                    areSame = c == v;
                    if (!areSame)
                    {
                        break;
                    }
                }

                if (areSame)
                {
                    return;
                }
            }

            foreach (var v in views)
            {
                base.RemoveView(v);
            }

            views.Clear();
            foreach (var child in children)
            {
                var cview = child.ToView() ?? new AView(AndroidContext.CurrentContext);
                views.Add(cview);
                //cview.ContentMode = UIViewContentMode.Top;
                base.AddView(cview);
            }
        }
Exemplo n.º 4
0
 public void SetView(View view)
 {
     stack = view as HStack;
     UpdateChildren(stack);
     stack.ChildrenChanged += Stack_ChildrenChanged;
 }