Android應用若是加載zip格式插件中的類,該類中的界面會須要用純代碼進行編寫。插件中的界面是基於加載插件的Activity的。因此插件中的界面基本會用到Dialog做爲基礎界面。開發過程當中會有一些技巧,記錄以下: android
一、用AlertDialog做爲基礎界面,若是放置EditText組件,虛擬鍵盤將會沒法顯示。解決方法:用Dialog替代。 spa
二、用AlertDialog做爲基礎界面的好處在於,系統默認會將該界面居中顯示,省去很多排版的設置。 插件
三、Activity、Dialog界面是能夠屏蔽Home按鍵的,這個比較狠,看產品設計須要吧。 設計
WindowManager.LayoutParams.TYPE_KEYGUARD
WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG 事件
方法是將Dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);而後在onKey事件中屏蔽Hone按鍵便可。對話框的話上面貼出的代碼要放在show()以後。不然報BadTokenException錯誤。 ip
四、虛擬鍵盤顯示會致使Activity、Dialog界面上移的問題,Activity能夠經過設置 開發
android:windowSoftInputMode="adjustPan" 鍵盤就會覆蓋屏幕 android:windowSoftInputMode="stateVisible|adjustResize" 屏幕總體上移 get
來解決。Dialog的話能夠將背景設置爲全屏幕,而後不想要的部分全透明。這樣Dialog就不會總體上移了。 產品