1

を使用するウィンドウがlayout: 'horizontal'あり、それぞれを使用して子ビューを追加したときwidth: '50%'、それは素晴らしかったです。それらはすべて 2 列のテーブルのように入力されました。

ただし、コンテンツをスクロールする必要があることに気付いたので、ウィンドウにスクロールビューを追加し、子ビューをスクロールビューに追加しましたが、機能しませんでした。スクロールビューで使用layout: 'horizontal'すると、コンテンツを水平方向にスクロールしようとします - すべての子ビューが 1 行に表示されます (最初の 2 つだけが UI に表示されます)。に変更するとlayout: 'vertical'、適切にスクロールしますが、ビューは 1 列形式 (1 列がもう 1 列) でレイアウトされます。

var deals_window = Titanium.UI.createWindow({
    title: 'Deals',
    layout: 'horizontal'
  });

  var scrollView = Ti.UI.createScrollView({
    showVerticalScrollIndicator: true,
    layout: 'horizontal',
    scrollType: 'vertical',
    contentWidth: '100%',
    contentHeight: 'auto',
    width: '100%',
    height: 'auto'

  });
  deals_window.add(scrollView);

垂直方向にスクロールしているときに、scrollView で「水平」レイアウト動作を使用するにはどうすればよいですか?

4

2 に答える 2

0

scrollView のプロパティ horizo​​ntalWrap:true を使用してみてください。それはあなたを助けるかもしれません!

コードは次のとおりです。

//window
var win = Ti.UI.createWindow({
    width: '100%',
    height: '100%',
    backgroundColor: 'white'
});
//scrollView
var scrollView = Ti.UI.createScrollView({}i
    top: 0,
    width: '100%',
    height: '100%',
    contentWidth: '100%',
    layout: 'horizontal',
    horizontalWrap: true,
    scrollType: 'vertical'
);
win.add(scrollView);
//item in scrollView
for(var i = 0; i < 8; i++){
    var itemLabel = Ti.UI.createLabel({
        font:{
            fontSize: '18'
        },
        left: '2.5%',
        width: '30%',
        color: 'black',
        height: '90'
        borderRadius: 5,
        textAlign: 'center',
        text: 'item '+(i+1),
        backgroundColor: 'red',
        verticalAlign: Ti.UI.TEXT_VERTICAL_ALIGNMENT_CENTER
    });
    scrollView.add(itemLabel);
}

まあ、このようにすればうまくいきますが、 scrollViewで最後の行の部分をスクロールできると問題が発生します。したがって、この方法を適用して問題を解決することはお勧めしません。TableViewListViewなどのより優れたUI コンポーネントを試すことができます。 TableViewの場合は、必要なアイテムをTableViewRowに任意の数だけ配置し、ListViewの場合は、必要なアイテムをいくつか含むItemTemplateを定義しました。詳細が必要な場合は、frankjorsn@gmail.comまでメールをお送りください。

于 2015-08-07T02:13:17.097 に答える
0

水平レイアウトを使用しないでください。これを試して:

var scrollView = Ti.UI.createScrollView({
   layout: 'vertical',
   height: Ti.UI.FILL
});

var row = Ti.UI.createView({
   height: Ti.UI.SIZE
});

var view1 = Ti.UI.createView({
    width: "50%",
    left: 0
});

var view2 = Ti.UI.createView({
    width: "50%",
    right: 0
});

row.add(view1);
row.add(view2);

scrollView.add(row);
于 2013-04-10T09:13:57.697 に答える