下面是我的實現經曆:
1.首先,我是直接使用AlertDialog來實現,確定是,形狀有點難看,而且獲得Dialog裡面的控制項略顯麻煩(因為我要做的登陸框有一定的布局),然後就給我就放棄了,可能因為我太水了,不能很好的使用它
2.然後我就使用PopupWindow來實現,介面是達到了我的要求,控制項的獲得通過Inflater就可以獲得了相對較簡單,但是有一個缺點就是,當點擊輸入的時候,對話方塊不會根據軟鍵盤的位置而改變位置,網上搜了搜,還不能直接監聽軟鍵盤的出現和消失的事件訊息,掙紮了一個下午,果斷放棄。
3.最後直接就使用Activity來實現了,介面達到了要求,控制項擷取也容易,還能根據軟鍵盤而改變位置,集體實現如下:
第一,建立Activity,並布置好相應的布局。
第二,個人覺得是最重要的一部,就是註冊Activity的時候,設定好Activity的theme屬性為Dialog,要自訂自己的Style檔案,這樣Activity的顯示才會按照自己的要求實現,具體代碼如下:
<activity android:name="com.zsxy.schedule.Login" android:theme="@style/login_dialog" > </activity>
其中login_dialog檔案如下:
<style name="login_dialog" parent="@android:style/Theme.Dialog"> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:backgroundDimEnabled">false</item> </style>
3.最後想調用其他Activity那樣調用就行了