問題タブ [custom-widgets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
32 参照

dart - カスタムウィジェットのコンテンツを次のページにプッシュする方法

ウィジェットを作成し、Gridview.count で列のパラメータを呼び出しましたが、同じパラメータを別の画面にプッシュしたいです。どうすればいいですか?ありがとう

}

0 投票する
0 に答える
247 参照

c++ - SetFixedSize(...) を使用している場合にのみ QT ウィジェットが表示される

カスタム ウィジェットを作成しました: デザイナーでQWidgeta をTreeItem(自分の) に昇格させました。しかし、コードを実行すると、ウィジェットが表示されません。それを見る唯一の方法は、 を使用することsetFixedSize(100, 100)です。でもresizesetGeometry動作しません。固定サイズを指定せずにカスタム ウィジェットを表示できるようにしたいと考えています。

TreeItem.h

TreeItem.cpp

0 投票する
1 に答える
50 参照

android - Androidのカスタム複合ウィジェットで単一ビューのクリックリスナーを処理するには?

2 つのビュー (画像ビューとテキスト ビュー) を持つカスタム ウィジェット (InfoIcon) があります。このカスタム ウィジェット (InfoIcon) をメイン レイアウト ファイルで複数回使用し、カスタム ウィジェット全体の個別の ID (infoIconOne、infoIconTwo、infoIconThree) を指定しました。ここで、ImageView (カスタム ウィジェット内) の onClick イベントのみをリッスンし、親レイアウトの infoIconOne/infoIconTwo/infoIconThree で ImageView のクリックが発生するかどうかを識別する方法を知りたいですか?

情報アイコン:

メインレイアウト:

0 投票する
6 に答える
13660 参照

flutter - Flutter の縦書きウィジェット

TextDirectionのドキュメントには次のように書かれています。

Flutter は、右から左または左から右の書き込み方向を使用するかどうかにかかわらず、現在使用されている世界中の言語で記述されたアプリケーションのニーズに対応するように設計されています。Flutter は、縦書きテキストや犀形テキストなどの他の書字モードをサポートしていません。これらはコンピューター プログラムではめったに使用されないためです。(強調追加)

Flutter は縦書きテキストをサポートしていないだけでなく、将来的には正式にサポートされなくなります。これは初期の設計上の決定でした (ここここを参照)。

それでも、今日、縦書きのサポートは実際に使用されています。中国語と日本語の特定の用途に加えて、伝統的なモンゴル文字ではそれが必要です。このスクリプトは、内モンゴルのコンピューター プログラムで非常に一般的に使用されます ()。

上から下に書かれ、行は左から右に折り返されます。

ここに画像の説明を入力

さらに、絵文字と CJK 文字は、縦に表示されたときにその向きを保持します (絶対に必要というわけではありませんが、推奨されます)。以下の画像では、上の段落は現在の実装を示し、下の段落は正しい垂直レンダリングを示しています。

ここに画像の説明を入力

Flutter は垂直スクリプトをサポートしていないため、最初から実装する必要があります。実際のテキストのレイアウトと描画はすべてLibTxtを使用して Flutter エンジンで行われるため、それを変更することはできません。

上から下への垂直の Text ウィジェットを作成するには何が必要ですか?

アップデート

私はまだ答えを探しています。レミの答えは、1 行のテキストには適していますが、複数行のテキストには適していません。

私は現在、3つの異なる可能な解決策を研究しています:

  • RichText ウィジェットに似たカスタム StatelessWidget をサポートする RenderObject サブクラス (またはおそらくRenderParagraphサブクラス) を作成します。
  • CustomPaint ウィジェットを使用する
  • ListView (テキスト行ごとに 1 行)、テキスト ウィジェット、および WidgetSpans の複合ウィジェットを作成します。

これらのすべてには、テキストの測定、レイアウト、および行のリストの取得が含まれます。

別のアップデート

私は現在、RichText と RenderParagraph を模倣するカスタム ウィジェットとレンダリング オブジェクトの作成に傾倒しています。内部では、RenderParagraph は TextPainter を使用してテキストのレイアウトとペイントを行います。私の問題は、TextPainter が基礎となる Skia LibTxt ライブラリに密接に結合されていることです。ここで、実際のレイアウトとペイントがすべて行われます。デフォルトの ltr と rtl 以外にテキストを配置することは、大きな問題であることがわかっています。

さらに別のアップデート

受け入れられた回答は、この質問で提示した基準を満たしています。短期的なニーズに対応できると思います。テキスト スタイルの適用などについてはいくつか保留がありますが、さらにテストを行う必要があります。長期的には、カスタムのテキスト レイアウトとペイントを試してみるかもしれません。