AndroidのPopWindow代替BasePopup

免責事項:この記事はxing_starオリジナル記事です、ソースを明記してください!

この記事の同期http://javaexception.com/archives/109

背景説明

最近、彼らはこのプロジェクトの最初の懸念を覚えて、このオープンソースプロジェクトBasePopupを参照してください17年で、レコードを提出した19年間維持するために、16年の初めから、見コミット、まだ非常にその問題を参照するには忍耐力だけでなく、文書であります、非常に慎重に作者ポイントの賞賛をオーサリング。一見PopWindowの使用に関して、多くの年のためのAndroid開発を行う、間違いなく特別なものではありません技術の前にポップであり、基本的DialogFragment、カスタムBaseDialogFragmentを使用し、最終的には基本的に満足し、達成するためにサブクラスを拡張し、いくつかの方法を合意それはポップの底があるかどうかのポップニーズの大半は、中間、フルスクリーンポップや何か他のものをポップ、そしていくつかは、達成するようAlertDialog使用することができ、popWindowは、最近、いくつかの非常にまれに遭遇しなかっ連絡を使用しますプロジェクトが、より多くのPopwindow場所を使用する追加は、もちろん、それは技術の団結を維持しようとすると、これらのポップアップはまた、ダイアログやDialogFragmentを達成使用することができますが、プロジェクトはPopWindowの方法を採用されていることを理にかなっています。

PopWindow利用シナリオ

一般に、このようなマルチレベルUSグループスクリーニングについての条件、または他のアプリのスクリーニング条件として、スクリーニングのために使用される条件が含まれ、模倣は(ダイアログで、PopWindowを達成することができる)の友人のコメント、模倣円をポップアップ効果の底をBootomSheet PopWindow効果のポイントのように、PopWindowのような模造AlertDialogポップは(このシステムが提供するので、システムを使用して、カスタムPopWindowでこの効果を達成する必要はありません)、だけでなく、ポップの緩やかなフェードアニメーション効果その結果、ボックスをクリックして爆弾の内部QQスペースなどの効果、基本的にPopWindowでポップ需要のほとんどを達成することができます(あなたがそう、ここで、ピットの場に実行することがありBasePopup下から少し助けを借りている)、PopWindowは大きな利点を持っている、つまり、表示位置制御は、垂直および水平方向の現在のビュー、等、又はわずかにオフセット点として、きめ細かいポップできる、可能です。このダイアログで、またはDialogFragmentを比較することはできません。

デフォルトの問題PopWindow出会いを使用

私はあなたがPopWindowプロセスにかなりの数の問題を抱えていたと信じて、ここではいくつかの共通の問題があります。

1.設定メインレイアウトルートノードは、我々は、親コンテナがルートXMLになるように、ルートの親コンテナの層を追加する必要がある場合には無効なサイズ(layout_width、layout_height)、あります

装置上2.Android N popWindowは問題を示し、影カバレッジの問題の存在、この読みこの説明http://javaexception.com/archives/108

前記測定ウィンドウを使用して、サイズを制御し、幅と高さが0を測定しました。

4.特徴点と1例ずつ、より多くのではありません

効果BasePopupのデモ

ポップの下に続いて、popWindowは、入力テキスト入力をサポートし、偽の友人はコメント効果のように区切ります

体験デモAPKアドレスhttps://fir.im/pfc9

プロジェクトを使用してください

想要使用BasePopup直接到对应的github上按照对应的文档接入,教程写的很详细,有问题也可以在issue里面查找,再贴一下项目地址https://github.com/razerdp/BasePopup

参考资料

popupWindow使用常见的错误 https://www.jianshu.com/p/d352847cc08b

BasePopup项目地址 https://github.com/razerdp/BasePopup

おすすめ

転載: www.cnblogs.com/xing-star/p/10961988.html