[Androidオープンソースフレームワーク]AnyDialog使用説明

6039 ワード

AnyDialog使用説明
Androidはカスタマイズ性が高く、使いやすさが高いDialog.
GitHubホームページ
Demoダウンロード
概要
  • チェーンコール
  • カスタムデータバインディング
  • カスタムインバウンドアニメーション
  • は、表示サイズおよび位置
  • を自由に制御することができる.
  • は、背景が暗くなったり、画像
  • が表示されたりすることをカスタマイズすることができる.
  • 1行のコード実装バックグラウンドガウスぼかし
  • ナビゲーションバーがあるときに遮蔽またはアニメーション効果によってナビゲーションバー
  • を上書きすることを避ける.
  • 劉海屏dialogは全画面表示できないため、背景図を前髪領域まで伸ばすことができない.背景表示画像やガウスブラー効果を実現するには、AnyLayer
  • を使用することを提案する.
    スクリーンショット
    スクリーンショットの効果は比較的に悪くて、Demo体験をダウンロードすることを提案します
    demo_1.0.gif
    使用方法の説明
    統合
  • jitpackライブラリ
  • を追加
    // build.gradle(Project:)
    allprojects {
        repositories {
            ...
                maven { url 'https://www.jitpack.io' }
        }
    }
    
  • 依存を追加クリックすると、最新バージョン番号
  • が表示されます.
    // build.gradle(Module:)
    dependencies {
        implementation 'com.github.goweii:AnyDialog:     '
    }
    

    新規レイアウト
    レイアウトファイルルートノードでlayout_を設定するwidth,layout_height,layout_marginなどの属性はdialogの表示サイズを制御する
    
    
    
        
    
        
    
        

    在代码中调用

     AnyDialog.with(MainActivity.this)
              .contentView(R.layout.dialog_test_1)
              // .backgroundBlur(20)    //        
              .dimAmount(0.5f)
              .cancelableOnTouchOutside(true)
              .cancelableOnTouchOutside(true)
              .contentAnim(new IAnim() {
                  @Override
                  public long inAnim(View content) {
                      AnimHelper.startTopInAnim(content, ANIM_DURATION);
                      return ANIM_DURATION;
                  }
     
                  @Override
                  public long outAnim(View content) {
                      AnimHelper.startTopOutAnim(content, ANIM_DURATION);
                      return ANIM_DURATION;
                  }
             })
              .bindData(new IDataBinder() {
                   @Override
                   public void bind(AnyDialog anyDialog) {
                       //      
                   }
              })
              .onClick(R.id.btn_1, new View.OnClickListener() {
                   @Override
                   public void onClick(View v) {
                       //     
                   }
              })
              .show();
    

    一般的な方法
  • with(@NonNull Context context)インスタンスオブジェクト
  • を作成
  • contentView(View contentView)Dialog本体レイアウト
  • を設定する
  • contentView(@LayoutRes int contentView Id)Dialog本体レイアウト
  • を設定
  • gravity(int gravity)GravityのようなDialogの位置を設定する.BOTTOM
  • cancelableOnTouchOutside(boolean cancelable)設定外部クリック
  • cancelableOnClickKeyBack(boolean cancelable)設定戻るボタンをクリックして
  • を閉じる
  • bindData(IDataBinder dataBinder)バインドデータ
  • onClick(@IdRes int viewId,OnDialogClickListener listener)単一View追加クリックイベント
  • onClick(OnDialogClickListener,@IdResint...viewIds)複数のView追加クリックイベント
  • onClickToDismiss(@IdRes int...viewIds)このViewをクリックしてDialog
  • を閉じる
  • getView(@IdRes int viewId)はViewを取得し、IDataBinderインタフェースでView
  • を取得することができる.
  • getViewHolder()ViewHolder
  • を取得
  • onDialogShowListener(OnDialogShowListener onDialogShowListener)dialog表示のコールバック
  • onShowing()が表示されたばかりで、アニメーションに入っても
  • は実行されていません.
  • onShown()アニメーション実行完了
  • onDialogDismissListener(N o n D i alogDismissListener onDialogDismissListener)ダイアログ・クローズのコールバック
  • onDismissing()が閉じ始めたばかりで、閉じたアニメーションはまだ
  • を実行していません.
  • onDismissed()アニメーション実行完了
  • を閉じる
  • contentAnim(IAnim contentAnim)Dialog本体の入退場アニメーションを設定すると、本体のルートViewに戻り、アニメーション
  • を自由に定義できます.
  • contentInAnim(@AnimRes int anim)Dialog本体の入場アニメーション
  • を設定
  • contentInAnim(@NonNull Animation anim)Dialog本体の入場アニメーション
  • を設定
  • contentOutAnim(@AnimRes int anim)Dialog本体の登場アニメ
  • を設定
  • contentOutAnim(@NonNull Animation anim)Dialog本体の登場アニメ
  • を設定
  • background Anim(IAnim background Anim)Dialogバックグラウンドのオフショアアニメーションを設定すると、バックグラウンドViewに戻り、アニメーション
  • を自由に定義できます.
  • backgroundInAnim(@AnimRes int anim)Dialogバックグラウンドの入場アニメーション
  • を設定
  • backgroundInAnim(@NonNull Animation anim)Dialogバックグラウンドの入場アニメーション
  • を設定
  • backgroundOutAnim(@AnimRes int anim)Dialog背景の登場アニメーション
  • を設定
  • backgroundOutAnim(@NonNull Animation anim)Dialog背景を設定した登場アニメーション
  • defaultContentAnimDuration(long defaultAnimDuration)Dialog本体のオフショアアニメーションのデフォルト時間を設定
  • defaultBackgroundAnimDuration(long defaultAnimDuration)Dialogバックグラウンドのインバウンドアニメーションのデフォルト時間を設定
  • dimAmount(@FloatRange(from=0,to=1)float dimAmount)Dialog表示時に背景が暗くなる程度を設定し、次のbackgroundXxxメソッドと同時に
  • を使用しないことを推奨します.
  • backgroundColorInt(@ColorInt int color)Dialog背景色を設定し、半透明値
  • を推奨
  • backgroundColorRes(@ColorRes int color)Dialogの背景色を設定し、半透明値
  • を推奨します.
  • backgroundBlurRadius(@FloatRange(from=0、fromIncluve=false、to=25)float radius)Dialogバックグラウンドガウスブラー効果の半径
  • を設定
  • backgroundBlurScale(@FloatRange(from=1)float scale)DialogバックグラウンドGaussブラー効果Bitmapのスケーリング係数を設定し、半径が大きい場合はこれを設定することをお勧めします.
  • backgroundBitmap(Bitmap bitmap)設定Dialog背景表示Bitmap
  • backgroundResource(@DrawableRes int resource)Dialogバックグラウンドを設定リソースファイル
  • を表示
  • backgroundDrawable(Drawable drawable)Dialog背景を設定Drawable
  • を表示
  • show()表示
  • dismiss()
  • を閉じる
    に注意
    バグを発見したらQQ 302833254に連絡してください