1
{N}には、ビューを含むレイアウトがあり、時には非表示にしたい場合があります。 CSSに似ています - 表示:なしレイアウトと含まれているビューを非表示にするには
私は可視性について知っています:崩壊 - しかし、それでもまだスペースが必要です。
どうすればいいですか?
{N}には、ビューを含むレイアウトがあり、時には非表示にしたい場合があります。 CSSに似ています - 表示:なしレイアウトと含まれているビューを非表示にするには
私は可視性について知っています:崩壊 - しかし、それでもまだスペースが必要です。
どうすればいいですか?
可視性:折りたたみにスペースがないここで
は、それを確認する例です。この例では
page.xml
<Page loaded="loaded">
<StackLayout>
<Button text="{{ showDetails ? 'Hide' : 'Show' }}" tap="toggle" />
<GridLayout width="200" height="200" backgroundColor="red" visibility="{{ showDetails ? 'visible' : 'collapsed' }}" >
<Label text="{{ showDetails }}" textWrap="true" />
</GridLayout>
<GridLayout width="200" height="200" backgroundColor="gray" >
<Label text="Always visible element" textWrap="true" />
</GridLayout>
</StackLayout>
</Page>
page.ts
var observable = require("data/observable");
var pageData = new observable.Observable();
exports.loaded = function(args) {
pageData.set("showDetails", true);
args.object.bindingContext = pageData;
}
exports.toggle = function() {
pageData.set("showDetails", !pageData.get("showDetails"));
}
を変更するとき中央の要素(赤いグリッドボックス)の可視性は、占有スペースなしで完全に崩壊し、3番目の要素(灰色のグリッドボックス)が上に移動します。
ありがとうございました。私はListViewアイテムを隠そうとしていました。最も外側の要素がStackLayoutであり、表示を折りたたむように設定すると、すべてのネストされた要素が隠されますが、それでもスペースが必要です。しかし、余分なレベルのStackLayoutを追加し、内側の要素に可視性を適用すると、期待どおりに機能します。 – dashman
@dashmanコメントが保存されました。ありがとうございました。 – Steve