[Androidオープンソースフレームワーク]AnyDialog使用説明
6039 ワード
AnyDialog使用説明
Androidはカスタマイズ性が高く、使いやすさが高いDialog.
GitHubホームページ
Demoダウンロード
概要チェーンコール カスタムデータバインディング カスタムインバウンドアニメーション は、表示サイズおよび位置 を自由に制御することができる.は、背景が暗くなったり、画像 が表示されたりすることをカスタマイズすることができる. 1行のコード実装バックグラウンドガウスぼかし ナビゲーションバーがあるときに遮蔽またはアニメーション効果によってナビゲーションバー を上書きすることを避ける.劉海屏dialogは全画面表示できないため、背景図を前髪領域まで伸ばすことができない.背景表示画像やガウスブラー効果を実現するには、AnyLayer を使用することを提案する.
スクリーンショット
スクリーンショットの効果は比較的に悪くて、Demo体験をダウンロードすることを提案します
demo_1.0.gif
使用方法の説明
統合 jitpackライブラリ を追加依存を追加クリックすると、最新バージョン番号 が表示されます.
新規レイアウト
レイアウトファイルルートノードでlayout_を設定するwidth,layout_height,layout_marginなどの属性はdialogの表示サイズを制御する
一般的な方法 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に連絡してください
Androidはカスタマイズ性が高く、使いやすさが高いDialog.
GitHubホームページ
Demoダウンロード
概要
スクリーンショット
スクリーンショットの効果は比較的に悪くて、Demo体験をダウンロードすることを提案します
demo_1.0.gif
使用方法の説明
統合
// 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();
一般的な方法
に注意
バグを発見したらQQ 302833254に連絡してください