1樓:雷克薩
我最近要做乙個頂起中間布局。試了好多次無法實現,最後想監聽輸入法改變中間margintop為負數。但又要固定,固定則不會監聽到。
後面找到乙個方法外層用linearlayout。頭部用
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
抵消。下面用<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"> 裝你想用的布局即可
2樓:SunXL
參考自:EditText獲取和失去焦點,軟鍵盤的關閉,和軟鍵盤的顯示和隱藏的監聽 - 丶牛皮丶 - 部落格園
親測可用的, 原理和月恆的差不多
//監聽軟鍵盤是否顯示或隱藏
mReplayRelativeLayout.getViewTreeObserver().addOnGlobalLayoutListenernew ViewTreeObserver.
OnGlobalLayoutListenerOverridepublic void onGlobalLayoutRect r = new RectmReplayRelativeLayout.getWindowVisibleDisplayFrame(rint screenHeight = mReplayRelativeLayout.getRootViewgetHeightint heightDifference = screenHeight - (r.
bottomif (heightDifference > 200軟鍵盤顯示
// changeKeyboardHeight(heightDifferenceelse軟鍵盤隱藏
3樓:
看了這個問題下的所有回答,我按照個人的理解稍微做一點總結.
監聽鍵盤彈出通過監聽rootView的高度變化.
監聽鍵盤收起可以通過有一位層主提到的重寫 Edittext.onKeyPreime() 方法.
不過也不完美.
如果想單純的監聽軟鍵盤的彈出和收回感覺很難實現,一般都需要結合業務需求通過介面變化來感知.
4樓:
想要監聽鍵盤向下的事件,需要重寫 Edittext.onKeyPreime() 方法,在這個方法裡進行監聽了.
我的部落格有篇文章專門講這個問題, 對Android 軟鍵盤向下的監聽
5樓:Vander
我現在一直被這類問題困擾:
如果單純的監聽軟鍵盤的彈出,樓上的方案,幾乎沒問題,包括軟鍵盤的彈出和關閉監聽的效果在介面不複雜的情況下,效能上面也不會太麻煩.
就是在比較低端一點的機型,onGlobalLayout這個方法就吃力太多,每次彈出軟鍵盤真的太卡了.這幾天一直在研究怎麼優化.頭疼死了.
------- 後來我發現---造成卡頓是由於介面重繪導致的.------
監聽軟鍵盤收回,onGlobaLayout這種方式應該是比較不錯的,可能還會有更合適的方法.
你在學習Android開發中走了哪些彎路?
伍六七 我大四開始自學Android,從一開始實習都很難找,到三年後成長為Android技術負責人,簡單說說我在自學路上的一些經驗吧 基礎不牢固 自學過程中往往是衝著工作中的實際問題去的,其實後面會發現,工作中出現的很多問題背後的原理,就在那些基礎知識中,Android四大元件 View的繪製 事件...
如何推廣自己開發的 Android 應用?Android 應用該做哪些推廣?
答非所問來一發 不說如何推廣,外邊的BD太多了,隨便招乙個就夠用 看題主的意思應該是未來CEO的意思,要合理分配自己的精力 下邊是推廣新產品節奏 第一階段 測試 如果感覺產品ok的話,給自己產品定好指標,花錢去三方市場買點量回來看看,測試完會有乙個產品迭代和投入產出比計算 第二階段 花錢 上面的階段...
零基礎如何自學 Android 開發?
神秘人 首先請看圖。其次如果你是新手你手頭有創業專案 就卡在技術這一關。我可以幫你的。免費。喜歡交朋友。我發這個圖不是說安卓比 IOS 差只是想說零基礎的最好 最好最好最好。重要的事情說三遍。最好從IOS學起。助攻IOS 輔安卓。不要問我為什麼 沒有為什麼。 Alex Wang 最重要的是,一定要看...