0

を使用するlayout = horizontalと、内の要素が左から積み重なっていきます。要素を右から左に積み重ねたい。どうやってやるの?

4

2 に答える 2

4

ユースケースに応じて、次のこともできます。

<Alloy>
    <Window>
        <View layout="horizontal" width="Ti.UI.SIZE" right="0">
            <View backgroundColor="red" left="0" width="20" height="20" />
            <View backgroundColor="green" left="0" width="20" height="20" />
            <View backgroundColor="blue" left="0" width="20" height="20" />
        </View>
    </Window>
</Alloy>

ビュー自体は右から積み上げられませんが、親の幅をTi.UI.SIZEグループに合計として設定すると、右に揃えられることに注意してください。繰り返しますが、ビュー自体が RTL を積み重ねる必要があり、XML の順序をそのままにしたい場合、これはニーズを満たさない可能性があります。

ここに画像の説明を入力

于 2016-01-16T11:00:46.897 に答える
3

これを行うプロパティはありません。しかし、ミラートリックでこれを行うことができます。

index.xml

<Alloy>
    <Window class="container" title="Test">
        <View id="holder">
            <View class="item" />
            <View class="item" />
            <View class="item" />
        </View>
    </Window>
</Alloy>

index.tss

"#holder": {
    top:"50dp",
    layout:"horizontal",
    width:Ti.UI.FILL,
    transform:Alloy.Globals.mirror
}
".item":{
    left:0,
    width:"20dp",
    height:"20dp",
    backgroundColor:"red",
    borderColor:"blue",
    borderWidth:"1dp"
}

Alloy.js

Alloy.Globals.mirror = Ti.UI.create2DMatrix().scale(-1,1); 
于 2016-01-15T08:21:52.403 に答える