android中的activity布局內含有webview,彈出軟鍵盤如何自動適應屏幕,自動調整


解決方法一:

在所在的Activity中加入

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE|WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

解決方法二:

1.調整AndroidManifest.xml

找到對應的Activity,加入以下屬性

android:windowSoftInputMode="adjustResize"

若此時Activity還有全屏屬性android:theme="@android:style/Theme.NoTitleBar.Fullscreen",則刪除全屏屬性。

原因:軟鍵盤彈出時,要對主窗口布局重新進行布局,並調用onSizeChanged方法,當設置為全屏模式,google官方有說明,會忽略輸入框調整。

2.布局xml調整

WebView控件所在的布局,WebView祖先節點不能有ScrollView。另外,根節點不能固定高度。還有,當根節點是FrameLayout時,WebView本身、WebView父節點不能固定高度

以上的方式一定要注意,如果在webview中設置div(標題欄),設置了css屬性(html頁面滑動時標題欄不動)。那么以上的方式都不會生效。

總結:

1.webview不能固定高度。

2.千萬不能設置全屏

3.webview中的設置不能加上面的屬性



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com