1

私は今まで QML の StackView を使用して、ある画面から別の画面に移動していました。しかし、新しいビューで画面を更新するために、表示または非表示に設定されるさまざまなアイテムを作成することも可能であることがわかりました。たとえば、ヘッダー、メイン アイテム (Item1) を表示に設定し、フッターを設定できます。次に、Item1 を非表示に、Item2 を表示に設定できます。

各ソリューションの長所/短所は何ですか? (StackView VS ビューの表示/非表示)

4

1 に答える 1

3

@ddriver が言ったように、使用する利点は、StackView自分ですべてを行う必要がないことです。StackView を使用しないことで得られるパフォーマンス上の利点 (まったく使用しない場合) が、コードの可読性の低下を上回るとは思えません。あなたのコードを保守する必要があり、あなたが自分でそれを行っていることがわかった場合、私が最初に尋ねる質問は、なぜStackView.

  • トランジション: ページごとにアニメーションを維持する必要がありますが、これは無料で入手できます。たとえば、アニメーションはStackViewデフォルトで存在し、見栄えの良いアニメーションを得るためにコードを 1 行も書く必要はありません。
  • 可視性: おそらく、各ページのインデックスを作成し、それをファイルなどのcurrentIndexプロパティと比較する必要がありmain.qmlます。各「ページ」にインデックスを付け、visible: index == currentIndex各項目に設定します。これがアニメーションの後に発生することを確認する必要があります (ある場合)。
  • メモリ: の典型的な使用例は、アイテムが によってインスタンス化および管理されるStackViewをプッシュすることです。複雑なページが多数ある場合、それらが表示されていないときにそれらを破棄しないと、パフォーマンスに影響を与える可能性があります。ComponentStackView

たとえば、ヘッダー、メイン アイテム (Item1) を表示に設定し、フッターを設定できます。

PageApplicationWindowこの機能も備えています。

学習課題として実行している場合は、必ずカスタム実装を試してみてください。

StackView信頼できる (自動テストされ、公開されている) 完成品を目指している場合は、 を使用してStackViewください。

于 2016-09-01T13:37:37.233 に答える