noetius
noetius

Reputation: 13

How to dynamically add view in page or layout

I can't figure out how to programatically add a view into a layout or page.

I need to add views at runtime without using static xml declaration since i need to fetch them from an http requested object... . I didn't find useful informations in the docs.

Anyone knows how to do?

Upvotes: 1

Views: 7376

Answers (3)

Nathanael
Nathanael

Reputation: 5399

In addition to having a page included inside your app (normal); you download the xml, css, & js to another directory and then navigate to it by then doing something like page.navigate('downloaded/page-name');

you can also do

var factoryFunc = function () {
    var label = new labelModule.Label();
    label.text = "Hello, world!";
    var page = new pagesModule.Page();
    page.content = label;
    return page;
};

topmost.navigate(factoryFunc);

https://docs.nativescript.org/navigation#navigate-with-factory-function

Upvotes: 1

Froyke
Froyke

Reputation: 1145

I think you meant to dynamically add some view / controls to the page rather than to navigate into another page. If so, you just need to add some controls into one of the layouts in your page (only containers [=layouts] can have multiple children.

so, your code (viewmodel/page controller) would look something like:
var layout = page.getViewById("Mycontainer");
// create dynamic content
var label = new Label();
label.text = "dynamic";
// connect to live view
layout.addChild(label)

Upvotes: 9

Robert Kruis
Robert Kruis

Reputation: 109

You should check out this thread on the {N} forum. The question is about dynamically loading a page and module from a remote server. The (possible) solution is given in this thread.

Upvotes: 0

Related Questions