下面是我的實現經歷:
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那樣調用就行了
新聞熱點
疑難解答
圖片精選