DUICUO

HarmonyOS オープンソースのサードパーティ コンポーネント - DialogUtil コンポーネント (ダイアログ ポップアップ ツール)

[[415881]]

詳細については、以下をご覧ください。

51CTOとHuaweiが共同で構築したHarmonyOSテクノロジーコミュニティ。

https://harmonyos..com

序文

マテリアル スタイル、iOS スタイル、トップレベルの機能を自動的に取得し、任意の画面にポップアップでき、任意のスレッドにポップアップできます。

Android プラットフォーム用の DialogUtil コンポーネント (https://github.com/hss01248/DialogUtil)

これは HarmonyOS を使用して実装されており、コードは (https://gitee.com/openneusoft/dialog-util) でオープンソース化されています。

ぜひダウンロードしてご利用いただき、貴重なフィードバックをお寄せください。

特性

  • 安全であり、どのスレッドからも呼び出すことができます。
  • よく使われる iOS スタイルのダイアログやマテリアル デザイン スタイルのダイアログなど、さまざまなダイアログ タイプが用意されており、ボタンやテキストのスタイルも簡単に変更できます。
  • カスタムビュー: カスタムビューを渡してイベントを定義できます。このツールはビューの安全な表示を処理します。
  • また、下部のボタンと上部のタイトル (非表示にすることもできます) を ISO またはマテリアル スタイルで保持し、中央のビューを完全にカスタマイズすることもできます。
  • 幅と高さをパーセンテージで設定して、幅と高さをカスタマイズすることもできます。
  • デフォルトの影の背景をオフにして、XML で定義されたカスタムの背景 (カスタム ビューでダイアログを表示するときによく使用される) を使用できるようにすることができます。
  • iOS スタイルと Material スタイルはどちらも、通常のダイアログ、TYPE_TOAST の 3 つの状態で表示できます。
  • 「x」マークが付いた広告スタイルのアニメーションをサポートします。

コンポーネント例の効果

統合方法

方法1:

ライブラリを使用して .har パッケージを生成し、 .har パッケージを libs フォルダーに追加します。

エントリの Gradle ファイルに次のコードを追加します。

  1. 実装 fileTree(dir: 'libs' , include:[ '*.jar' , '*.har' ])

方法2:

  1. すべてのプロジェクト{
  2. リポジトリ{
  3. mavenCentral()
  4. }
  5. }
  6. 実装'io.github.dzsf:DialogUtil:1.0.0'  

使い方

初期化

  1. //AbilityのonStartメソッド内:
  2. コンテキストを渡す
  3. StyledDialog.init(これ);

サンプルコード(MainAbilitySlice内)

  1. // デフォルトのスタイルを使用する場合、.setxxx は必要ありません。
  2. StyledDialog.buildLoading().show();
  3.    
  4. //いくつかのスタイルをカスタマイズする場合:
  5. StyledDialog.buildMdAlert( "title" , msg, 新しいMyDialogListener() {
  6. @オーバーライド
  7. パブリックvoid onFirst() {
  8. showToast( "onFirst" );
  9. }
  10.  
  11. @オーバーライド
  12. パブリックvoid onSecond() {
  13. showToast( "onSecond" );
  14. }
  15.  
  16. @オーバーライド
  17. パブリックvoid onThird() {
  18. showToast( "onThird" );
  19. }
  20.  
  21.  
  22. })
  23. .setBtnSize(20)
  24. .setBtnText( "i" , "b" , "3" )
  25. 。見せる();

関連コールバック MyDialogListener

  1. public abstract void onFirst(); // md - 確認、ios - 最初
  2. public abstract void onSecond(); //md-cancel、ios-second
  3. public void onThird(){} //md-netural、ios-third
  4.  
  5. パブリックvoid onCancle(){}
  6.  
  7. /**
  8. * 入力にコールバックが提供される
  9. * @param 入力1
  10. * @param 入力2
  11. /
  12. パブリックvoid onGetInput(CharSequence input1,CharSequence input2){
  13.  
  14. }
  15.  
  16. /**
  17. * MdSingleChoose にコールバックが提供されます
  18. * @param 選択された
  19. * @param 選択されたテキスト
  20. /
  21. パブリックvoid onGetChoose( int選択された文字、選択されたテキストの文字シーケンス){
  22.  
  23. }
  24.  
  25. /**
  26. * MdMultiChoose に提供されるコールバック
  27. * @param 状態
  28. /
  29. パブリックvoid onChoosen(List <Integer> selectedIndex, List<CharSequence> selectedStrs,boolean[] states){
  30.  
  31. }

マイアイテムダイアログリスナー

  1. /**
  2. * IosSingleChoose、BottomItemDialog のクリック項目コールバック
  3. * @param テキスト
  4. * @param 位置
  5. /
  6. public abstract void onItemClick(CharSequence text, int position);
  7.  
  8.  
  9. /**
  10. * BottomItemDialog 内の下部のボタン (多くの場合、キャンセル ボタン) のクリック コールバック。
  11. /
  12. パブリックvoid onBottomBtnClick(){}

最後に、ダイアログ オブジェクトを返すには、show() を呼び出す必要があります。

進行状況ダイアログで進行状況が更新されます

  1. /**
  2. * どのスレッドからでも呼び出すことができます
  3. * @param dialog show メソッドによって返されるオブジェクト。
  4. * @param 進捗状況
  5. * @param最大値 
  6. * @param msg 回転する円の場合、msgをmsg:78%という形式に変換します。水平方向の場合、msgは何も影響を与えません。
  7. * @param isHorizo​​ntal: 水平線か螺旋か?
  8. /
  9. 公共  static void updateProgress( ダイアログ dialog, int progress, int   max 、CharSequence msg、boolean isHorizo​​ntal)

付録1:関連資料

公式IDEダウンロードリンク: https://developer.harmonyos.com/cn/develop/deveco-studio

詳細については、以下をご覧ください。

51CTOとHuaweiが共同で構築したHarmonyOSテクノロジーコミュニティ。

https://harmonyos..com