今天晚上教大家一個UI特效, 登陸頁面拉鉤平滑動畫過度動效。
同時,在給大家分享之前,這裡推薦下我自己建的Android技術分享群 :653961128,不管你是小白還是大牛,小編我都挺歡迎,不定期分享乾貨,包括2017最新的Android企業案例學習資料和零基礎入門教程,歡迎初學和進階中的小夥伴,大家一起交流學習,共同進步。
效果

中心思想就是activity根布局監聽布局變化,實現
ViewTreeObserver.OnGlobalLayoutListener介面,根據根布局高度變化超過高度的1/4就是認為鍵盤彈起來了。
默認高度變化超過100就認為鍵盤彈起,並且此處獲取的鍵盤的高度沒有減去狀態欄的高度,我改進了一下,當非全屏的時候獲取的鍵盤高度減去狀態欄的高度。
修改後的代碼截圖如下:



下面開始寫登陸頁面的布局,也沒啥難的,就我這個方案注意幾點就行:
- 把需要往上移動的布局放在一個容器裡面;
- 容器的高度計算好,給出定值;
- 登錄頁面設置鍵盤模式為
:android:windowSoftInputMode=”adjustResize” - 在
KeyboardWatcher.SoftKeyboardStateListener的回調介面裡面處理要處理的事,也就是平移動畫之類的,看著玩耍吧!
- void onSoftKeyboardOpened(int keyboardHeightInPx);
- void onSoftKeyboardClosed();
回顧
這個跟上次相比還有一個點就是關於顯示和隱藏密碼的問題:
1.發現之前項目的顯示和隱藏密碼是動態設置EditText的inputType來實現的,效果不太好,有點鍵盤抖動的趕腳。所以用了EditText的setTransformationMethod方法來實現,想過看了就知道,棒棒的~
2.封裝了TextView的上下左右Drawable,可以實現動態在布局文件設置大小及資源,省的在Act or Frg去設置了:

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/220827.html
微信掃一掃
支付寶掃一掃