【问题标题】:how can i put view's inside view's in titanium我怎样才能把视图的内部视图放在钛中
【发布时间】:2023-03-28 11:00:01
【问题描述】:

我有三个视图,一个主视图和两个子视图

主视图:

var viewMain = Ti.UI.createView();
viewManin.layout = 'vertical';
viewManin.backgroundColor = 'transparent';
viewManin.width = deviceWidth;

子视图1:

var viewChild1 = Ti.UI.createView();
viewChild1.layout = 'vertical';
viewChild1.height = 'auto';
viewChild1.backgroundColor = 'transparent';
viewChild1.width = deviceWidth;

子视图2:

var viewChild2 = Ti.UI.createView();
viewChild2.layout = 'vertical';
viewChild2.height = 'auto';
viewChild2.backgroundColor = 'transparent';
viewChild2.width = deviceWidth;

向主视图添加视图:

viewMain.add(viewChilde1);
viewMain.add(viewChilde2);

在每个子视图中,我都有可变文本大小的标签,因此我无法定义视图的高度。当我将子视图添加到主视图时,最后添加的视图占据了整个主视图。如何让两个视图出现在屏幕上?

【问题讨论】:

    标签: android ios iphone titanium titanium-mobile


    【解决方案1】:

    @Manuel_Rodrigues!我认为在您尝试这样做之前,您应该花点时间阅读钛的APITi.UI.FILLTi.UI.SIZEAUTO属性在不同情况下的应用说明了他们。在这里,我为你写了一个例子:

    var win = Ti.UI.createWindow({
        width: '100%',
        height: '100%'
    });
    
    var mainView = Ti.UI.createView({
        width: '100%',
        height: 'auto',
        layout: 'vertical',
        horizontalWrap: true
    });
    win.add(mainView);
    
    var view1 = Ti.UI.createView({
        top: 10,
        left: 10,
        width: '45%',
        borderRadius: 5,
        height: Ti.UI.SIZE,
        backgroundColor: '#25649d'
    }); 
    win.add(view1);
    
    var viewLabel1 = Ti.UI.createLabel({
        font:{
            fontSize: 16
        },
        width: 'auto',
        height: 'auto',
        color: 'black',
        textAlign: 'left',
        verticalAlign: Ti.UI.TEXT_ALIGNMENT_CENTER,
        text: 'this is a very long long long long long long text.'
    });
    view1.add(viewLabel1);    
    
    var view2 = Ti.UI.createView({
        top: 10,
        right: 10,
        width: 'auto',
        borderRadius: 5,
        height: Ti.UI.SIZE,
        backgroundColor: '#25649d'
    }); 
    win.add(view2);
    
    var viewLabel2 = Ti.UI.createLabel({
        font:{
            fontSize: 16
        },
        width: 'auto',
        height: 'auto',
        color: 'black',
        textAlign: 'right',
        verticalAlign: Ti.UI.TEXT_ALIGNMENT_CENTER,
        text: 'yes, I had seen it!'
    });
    view2.add(viewLabel2);     
    

    如果你运行这段代码,它应该显示如下:

    【讨论】:

    • 一段时间后我发现了解决方案,但感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2022-11-15
    • 2016-06-04
    相关资源
    最近更新 更多