我有一個EditText
小部件的活動。每次此活動顯示時,我的EditText
都會關注並顯示Android鍵盤。我不想要這個。我不想自動安卓鍵盤顯示。我該怎麼辦?如何避免當活動開始時自動出現Android鍵盤
回答
試試這個還 -
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
否則,聲明在manifest文件的活動 -
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
android:label="@string/app_name"
android:windowSoftInputMode="stateHidden"
>
如果您已經使用android:windowSoftInputMode
像adjustResize
或adjustPan
一個值,你可以結合兩個值如:
<activity
...
android:windowSoftInputMode="stateHidden|adjustPan"
...
>
這會在適當的時候隱藏鍵盤,但在需要顯示鍵盤的情況下平移活動視圖。
這應該是正確答案 – martyglaubitz 2014-04-25 16:07:07
感謝您在代碼和xml中顯示!事實上,這是最正確的答案!特別是因爲它可能是你花3分鐘寫兩種方法,使你不是第一次;-) – eric 2017-04-21 01:13:20
隱藏它使用的主題
<style name="MyTheme" parent="Theme">
<item name="android:windowSoftInputMode">stateHidden</item>
</style>
設置主題
<application android:theme="@style/MyTheme">
試圖聲明它menifest文件
<activity android:name=".HomeActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateAlwaysHidden"
>
如果您正在使用API的所有活動21級,你可以使用editText.setShowSoftInputOnFocus(false);
//to hide the soft keyboard
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
隱藏鍵盤的功能。
public static void hideKeyboard(Activity activity) {
View view = activity.getCurrentFocus();
if (view != null) {
InputMethodManager inputManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
隱藏鍵盤AndroidManifext.xml文件。
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:windowSoftInputMode="stateHidden">
這兩個屬性添加到您的父母佈局(例如:線性佈局,相對佈局)
android:focusable="false"
android:focusableInTouchMode="false"
它會做的伎倆:)
只需添加在AndroidManifest.xml
<activity android:name=".HomeActivity" android:windowSoftInputMode="stateHidden">
</activity>
發生這種情況時,您EditText是第一次獲得焦點時,當你的活動開始。因此,只需將初始焦點設置爲其他視圖,即可無需代碼即可可靠地解決此問題。你可以用XML做到這一點,不需要代碼。
例子:
<Button
android:id="@+id/mybutton">
<requestFocus />
</Button>
這裏不工作 – HelloWorld 2017-01-22 16:47:10
只是檢查:你試圖爲某個對象設置
@HelloWorld您能否確認,您是否使用過<
對我來說最好的解決方案,粘貼類的清單`
@Override
public void onResume() {
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
super.onResume();
}
@Override
public void onStart() {
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
super.onStart();
}
- 1. 當活動開始時,屏幕鍵盤會自動打開
- 2. Android鍵盤自動出現
- 3. 活動開始時顯示軟鍵盤
- 4. 如何避免鍵盤出現與啓動FilePickerActivity
- 5. 如何在開始新活動時避免黑屏?
- 6. Swift:當出現鍵盤時滾動UITableView
- 7. 如何避免在出現軟鍵盤時取消動畫效果?
- 8. 如何在活動開始時顯示數字鍵盤?
- 9. 通過通知開始活動:避免重複活動
- 10. 如何避免NPE與Android活動
- 11. 沒有在Android上的自動屏幕鍵盤上的活動開始
- 12. 開始活動時出錯
- 13. 如何在開始時自動顯示軟鍵盤?
- 14. 當硬件鍵盤打開時避免應用程序重新啓動
- 15. 如何避免「活動未開始,其當前任務已提前」警告?
- 16. Android - 當軟鍵盤出現時向上推動操作欄
- 17. 的UITextView避免鍵盤滾動
- 18. 如何當鍵盤出現
- 19. 如何避免在android上打開活動?
- 20. Android:我如何避免已經在堆棧中的開始活動?
- 21. 當活動開始時沒有文本字段時顯示軟鍵盤
- 22. 試圖讓Android鍵盤在活動啓動時彈出
- 23. 當我在活動group.Tabs的子活動打開軟鍵盤的Android
- 24. 如何在屏幕打開時自動顯示android鍵盤?
- 25. 如何在活動開始時自動打開ListPreference
- 26. 如何移除在onCreate時自動出現的鍵盤?
- 27. 如何避免鍵盤啓動或方向改變時Android界面的變化?
- 28. 安卓鍵盤在創建活動時自動出現在EditText中
- 29. 當鍵盤出現時,滾動查看不會滾動
- 30. 活動開始時軟鍵盤不顯示 - 更新?
<活動的android:windowSoftInputMode = 「stateHidden」 ...>的' – idiottiger 2012-03-16 06:19:06
可能重複[ Android的屏幕上的鍵盤自動彈出](http://stackoverflow.com/questions/2496901/android-on-screen-keyboard-auto-popping-up) – Caleb 2012-03-17 18:35:57
如何與'android:windowSoftInputMode =「adjustPan」一起使用「 '? – 2016-10-29 21:19:58