Androidアプリで一番困るのがキャリアがカスタマイズしたUI。ダイアログボックスなどはOSのバージョンはもとより、同じバージョンでもキャリアの端末毎に表示が異なります。 各バージョンのApiDemosのサンプルダイアログを実行したところ。結構違いますねー。特にキャリア端末は。 参考にしたのは、Gingerbreadのソースコードです。既に2.3.4のソースがGitで取得できます。 汎用的に使え、ある程度アクティビィティからカスタマイズできるように部品クラスを作ります。 カスタムアラートにダイアログクラスから作らないのはUIを変更するのが結構大掛かりな作業となってしまうからです。 PopupWindowクラスから作ったほうが簡単です。ダイアログクラスから作るのであれば以下のソースが参考になります。 mydroid/frameworks/base/core/java/android/app