まず最初に質問したように、SOルールに従わないと謝罪したいと思います。固定アスペクト比のNativeScript GridLayoutを作成する方法はありますか?
私が遂行しようとしているのは、の方角のgridLayoutです。この振る舞いは、stretch = "aspectFit"の要素を持つことと等価でなければなりません。
任意のアスペクト比を正方形ではなく強制することができれば、それは私が将来複数の状況を解決できるので、素晴らしいプラスになります。あるいは、それがどんなLayout要素にも適用できるならば、それはいいかもしれません。
解決策は必要に応じてハッキーにすることができ、GridLayoutはこれを遂行するために必要な方法でネストすることができます。私はすでに、このようにそれをハックしようとしてい
:
<GridLayout rows="*,auto,*" columns="*,auto,*" backgroundColor="green">
<Image row="1" col="1" src="~/Images/1px-black.png" stretch="aspectFit" width="100%"></Image>
<StackLayout row="1" col="1" orientation="vertical" backgroundColor="lightgray">
<Label text="Label 1" width="100%" height="25%" backgroundColor="red"></Label>
<Label text="Label 2" width="100%" height="25%" backgroundColor="green"></Label>
<Label text="Label 3" width="100%" height="25%" backgroundColor="blue"></Label>
<Label text="Label 4" width="100%" height="25%" backgroundColor="yellow"></Label>
</StackLayout>
</GridLayout>
は、視覚的に動作するように見えますが、GridLayoutの内容は、PS apropriately
をそれを埋めるしませんでした:私はちょうどに気づきました私が選択した例では、私が正方形にしようとしているレイアウト要素は入れ子にされたStackLayoutですが、それは同じ考えです。ネストされたレイアウト要素を二乗する方法が必要です。
ロードされたイベントで実行されるいくつかのJSを用意しますか?もしそうなら、これは簡単ではありません。あなたが純粋なXMLでそれを望むなら、グリッドに組み込まれたYからX(またはXからY)値を制約するものは何もないので不可能です。 – Nathanael
@Nathanael私はあらゆる解決策に開放されています。私は私の開発の初期段階にあるので、私はほとんどどんな解決策にも対処できると思っています。 –
@Nathanael私はAngular2アプリケーションで作業していることを述べるべきです。たぶんイベントやライフサイクルが答えに影響を与える –