下面是我的實現(xiàn)經(jīng)歷:
1.首先,我是直接使用AlertDialog來實現(xiàn),確定是,形狀有點難看,而且獲得Dialog里面的控件略顯麻煩(因為我要做的登陸框有一定的布局),然后就給我就放棄了,可能因為我太水了,不能很好的使用它
2.然后我就使用PopupWindow來實現(xiàn),界面是達到了我的要求,控件的獲得通過Inflater就可以獲得了相對較簡單,但是有一個缺點就是,當點擊輸入的時候,對話框不會根據(jù)軟鍵盤的位置而改變位置,網(wǎng)上搜了搜,還不能直接監(jiān)聽軟鍵盤的出現(xiàn)和消失的事件消息,掙扎了一個下午,果斷放棄。
3.最后直接就使用Activity來實現(xiàn)了,界面達到了要求,控件獲取也容易,還能根據(jù)軟鍵盤而改變位置,集體實現(xiàn)如下:
第一,創(chuàng)建Activity,并布置好相應的布局。
第二,個人覺得是最重要的一部,就是注冊Activity的時候,設定好Activity的theme屬性為Dialog,要自定義自己的Style文件,這樣Activity的顯示才會按照自己的要求實現(xiàn),具體代碼如下:
<activity android:name="com.zsxy.schedule.Login" android:theme="@style/login_dialog" > </activity>
其中l(wèi)ogin_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.最后想調(diào)用其他Activity那樣調(diào)用就行了
新聞熱點
疑難解答
圖片精選