當前位置:首頁 » 安卓系統 » android軟鍵盤擋

android軟鍵盤擋

發布時間: 2024-11-27 21:09:10

1. 怎麼把android軟鍵盤把布局頂上去

在EditText控制項接近底部的情況下,軟鍵盤彈出後會把獲得焦點的EditText控制項遮擋,無法看到輸入信息,防止這樣的情況發生,就需要設置AndroidManifest.xml的屬性:
前面的xml信息省略
在activity中 增加android:windowSoftInputMode="adjustPan"
<activity
..
android:windowSoftInputMode="adjustPan"
>
</activity>
彈出軟鍵盤以後,軟鍵盤會把EditText推上去。

2. android中怎麼調試軟鍵盤遮擋的問題

問題概述
在編輯框輸入內容時會彈出軟鍵盤,而手機屏幕區域有限往往會遮住輸入界面,我們先看一下問題效果圖:

輸入用戶名和密碼時,系統會彈出鍵盤,造成系統鍵盤會擋住文本框的問題,如圖所示:

輸入密碼時輸入框被系統鍵盤遮擋了,大大降低了用戶操作體驗,這就是開發中非常常見的軟鍵盤遮擋的問題,該如何解決?
簡單解決方案
方法一
在你的activity中的oncreate中setContentView之前寫上這個代碼
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
方法二
在 項目的AndroidManifest.xml文件中界面對應的<activity>里加入
這樣會讓屏幕整體上移。如果加上的 是 android:windowSoftInputMode="adjustPan"這樣鍵盤就會覆蓋屏幕。
關於android:windowSoftInputMode
activity主窗口與軟鍵盤的交互模式,可以用來避免輸入法面板遮擋問題,Android1.5後的一個新特性。
這個屬性能影響兩件事情:
【一】當有焦點產生時,軟鍵盤是隱藏還是顯示
【二】是否減少活動主窗口大小以便騰出空間放軟鍵盤
它的設置必須是下面列表中的一個值,或一個」state…」值加一個」adjust…」值的組合。在任一組設置多個值——多個」state…」values,例如&mdash有未定義的結果。各個值之間用|分開。
例如:
<activityandroid:windowSoftInputMode="stateVisible|adjustResize". . . >
在這設置的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設置的值
方法三
把頂級的layout替換成ScrollView,或者說在頂級的Layout上面再加一層ScrollView。這樣就會把軟鍵盤和輸入框一起滾動了,軟鍵盤會一直處於底部。

代碼可控性方法
1、主界面布局文件

2、自定義LinearLayoutView
該組件可實現根據軟鍵盤的彈出/關閉而隱藏和顯示某些區域,這是問題解決最關鍵部分,主要有兩點:
① 重寫onSizeChanged方法
該方法是View生命周期的方法,當View尺寸發生變化時調用,如豎屏橫屏切換、軟鍵盤彈出。這里當軟鍵盤彈出造成View尺寸改變,就會調用onSizeChanged方法,在該方法實現代碼的核心思想是根據尺寸變化,當變大(軟鍵盤彈出),將某些區域隱藏以給編輯界面預留出足夠顯示空間;當恢復(軟鍵盤關閉),再將隱藏的區域顯示出來

②提供KeyBordStateListener 介面採用回調機制調用介面的實現方法。

3.主界面MainActivit

實現效果

鍵盤彈出:

鍵盤關閉:

3. android 怎麼讓布局在軟鍵盤之上

在EditText控制項接近底部的情況下,軟鍵盤彈出後會把獲得焦點的EditText控制項遮擋,無法看到輸入信息,防止這樣的情況發生,就需要設置AndroidManifest.xml的屬性:前面的xml信息省略在activity中增加android:windowSoftInputMode="adjustPan"彈出軟鍵盤以後,軟鍵盤會把EditText推上去。

4. EditText彈出軟鍵盤遮住輸入框問題

如果在Activity中的布局的下方有EditText,獲取焦點彈出軟鍵盤的時候,如果不做處理,軟鍵盤可能會遮擋輸入框,用戶提現不好,網上也有很多人提出結局方案,這里就分析一下解決的效果.

需要用到EditText的布局大概分為兩種,一種是頁面顯示的內容不希望有殘缺,比如軟鍵盤把標題擠出了屏幕,如登錄注冊搜索等,EditText多半在頁面上半部分.另一種是頁面的上半部分不重要,比如聊天窗口,軟鍵盤彈出的時候,上半部分的聊天記錄可以被基礎屏幕外,EditText多半在最下方.其他的情況可以根據本文做出選擇, 結果在最下面 .

開始:

網上針對這個問題解決的方法大概這么幾種:

1.修改AndroidManifest.xml文件.

2.在Activity中添加配置.

3.在布局文件中添加ScrollVie.

在AndroidManifest.xml中對應的Activity配置: android:windowSoftInputMode="stateVisible|adjustResize"

這里SOFT_INPUT_ADJUST_RESIZE和SOFT_INPUT_ADJUST_PAN和上面中的adjustResize和adjustPan效果是一樣的.

ScrollView是能讓彈出的軟鍵盤添加到布局的下面,從而不擋住部分布局.這里往往需要跟上面的adjustResize和adjustPan兩個狀態一起用.
布局:

向上移的方式 設置:

壓縮的方式 設置:

結果:
只要彈出軟鍵盤會影響到布局的情況,都用ScrollView把布局包裹起來,被包裹的內容就是可能被縮放或擠出屏幕外的內容.然後根據EditText的位置判斷用adjustResize還是用adjustPan.
adjustResize是收縮adjustPan是向上擠
個人推薦,登錄注冊用adjustResize,聊天窗口用adjustPan

5. Android WebView載入頁面的輸入框被軟鍵盤遮擋的問題

當實現沉浸式狀態欄時遇到軟體盤遮擋WebView頁面的輸入框的問題,這是實現方式有問題,應該檢查你的實現方式。

1)載入WebView的Activty不能設置為全屏模式,即Theme.NoTitleBar.Fullscreen,可以使用Theme.Holo.Light.NoActionBar

2)沉浸式狀態欄的實現方式,在Activity的根布局裡加兩個屬性:

android:clipToPadding="true" 設置你的繪制區域在padding裡面

android:fitsSystemWindows="true" 調整view的padding屬性為系統窗口 留出空間

在Activity的onCreate方法裡面設置標題欄為透明,即:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_ST ATUS);

3)Activity裡面不能設置android:windowSoftInputMode的屬性,使用默認的屬性即可

以上3步即可實現沉浸式狀態欄並且能保證你的WebView載入的HTML頁面的輸入框不被軟鍵盤遮擋。



0



0

上一篇 Android Studio在SVN上創建分支

下一篇 Android Converty問題解決方案

相關文章推薦

• android中webview載入html輸入框不能輸入內容問題記錄

• 如何解決Android軟鍵盤蓋住輸入框的問題

• Android 軟鍵盤蓋住輸入框的問題

• Android 軟鍵盤蓋住輸入框的問題

• Android 軟鍵盤蓋住輸入框的問題

• Android 軟鍵盤蓋住輸入框的問題

• Android 軟鍵盤蓋住輸入框的問題

• android popupwindow 中輸入框被軟鍵盤彈出擋住問題解決

• ios解決軟鍵盤遮擋輸入框問題

• Android軟鍵盤遮擋輸入框解決方法

參考知識庫

Android知識庫

34080 關注 | 2937 收錄

猜你在找

Android中的五大布局

零基礎學軟體之HTML語言

【Android APP開發】Android高級商業布局快速實現

html5的app開發

Android前沿技術—《軟體框架搭建》

Android移植基礎

html系統學習篇

零基礎學習HTML5—html+css基礎

Android開發之初窺門徑

Android之數據存儲

關閉

6. 如何設置Android軟鍵盤的默認不彈出

如何設置Android軟鍵盤的默認不彈出?

在開發Anroid的時候,當你打開一個界面的時候,屏幕的焦點會自動停留在第一個EditText中,Android的軟鍵盤默認會自動彈出,用戶第一眼連界面都沒有看清楚,軟鍵盤就彈出來了,這就影響到了用戶體驗,我們需要設置打開界面的時候,當EditText獲取焦點的時候,不彈出軟鍵盤,其實也很簡單,代碼如下:

// 默認軟鍵盤不彈出 getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

在OnCreate()函數中,加上即可,OK,搞定。

熱點內容
提升訪問 發布:2024-11-27 23:41:39 瀏覽:820
為什麼學習編程 發布:2024-11-27 23:41:37 瀏覽:941
98編程 發布:2024-11-27 23:41:31 瀏覽:924
紫光演算法崗 發布:2024-11-27 23:36:14 瀏覽:335
文件加密解密工具 發布:2024-11-27 23:35:36 瀏覽:711
djangoajax文件上傳 發布:2024-11-27 23:29:35 瀏覽:306
向日葵忘記訪問密碼 發布:2024-11-27 23:29:33 瀏覽:498
為什麼伺服器不增加計數器 發布:2024-11-27 23:17:06 瀏覽:560
無法安裝sql2005 發布:2024-11-27 22:59:29 瀏覽:319
資料庫是哪個文件 發布:2024-11-27 22:58:32 瀏覽:401