事件描述:
登錄頁面,輸入11位手機號,四位驗證碼后,無需點擊登錄按鈕,直接登錄。當登錄失敗時,彈出,對錯誤信息進行描述。發現未按照系統默認的在屏幕中心點顯示,而是從屏幕上方,慢慢的移動到屏幕正中心。
測試過程:
屏蔽掉自動登錄評論輸入框測試點,改為手動登錄,此時顯示正常。后來懷疑是否是造成的,直接在View層把傳遞到中,調用展示方法,還是不行。
解決辦法:
自動登錄時,屏蔽掉輸入框事件,當符合條件時,直接隱藏掉輸入框。
結果分析
自動登錄與手動登錄的區別:手動登錄時,當輸入驗證碼時,因為有輸入框遮擋登錄按鈕,此時需要關掉輸入框,再點擊登錄;而自動登錄的話評論輸入框測試點,沒有執行隱藏輸入框操作,導致輸入框與在同一圖層,輸入框把頂上去了,執行自動登錄時,由于輸入框的自動隱藏,下落,所以出現從上向下的動畫。
隱藏輸入框的方法:
public static void dismissKeyBoard(Context context) {

View view = ((Activity)context).getWindow().peekDecorView();
if(view != null) {

InputMethodManager inputManger = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}