有誰知道如何禁用EditText
視圖中的閃爍光標?禁用EditText閃爍光標
139
A
回答
273
您可以使用xml屬性android:cursorVisible="false"
或java函數setCursorVisible(false)
。
23
完美的解決方案進一步朝目標
目標:禁用閃爍光標的時候EditText
沒有焦點,並啓用閃爍的光標時EditText
對焦。當點擊EditText
時,下面也會打開鍵盤,並在鍵盤上按完成時隱藏它。
1)設置在你的XML在你EditText
:
android:cursorVisible="false"
2)設置onClickListener:
iEditText.setOnClickListener(editTextClickListener);
OnClickListener editTextClickListener = new OnClickListener()
{
public void onClick(View v)
{
if (v.getId() == iEditText.getId())
{
iEditText.setCursorVisible(true);
}
}
};
3)然後onCreate
,在完成時使用OnEditorActionListener
壓到你的EditText
捕獲事件,然後setCursorVisible(false)
。
//onCreate...
iEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
iEditText.setCursorVisible(false);
if (event != null&& (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
in.hideSoftInputFromWindow(iEditText.getApplicationWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
}
return false;
}
});
1
就我而言,我希望當編輯集中啓用/禁用光標。
在你的活動:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (v instanceof EditText) {
EditText edit = ((EditText) v);
Rect outR = new Rect();
edit.getGlobalVisibleRect(outR);
Boolean isKeyboardOpen = !outR.contains((int)ev.getRawX(), (int)ev.getRawY());
System.out.print("Is Keyboard? " + isKeyboardOpen);
if (isKeyboardOpen) {
System.out.print("Entro al IF");
edit.clearFocus();
InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edit.getWindowToken(), 0);
}
edit.setCursorVisible(!isKeyboardOpen);
}
}
return super.dispatchTouchEvent(ev);
}
+0
很確定你想'編輯.setCursorVisible(!isKeyboardOpen);'編輯。 setCursorVisible(isKeyboardOpen);'使鍵盤出現時光標可見。 – 2017-04-10 18:19:52
2
您可以使用啓用和以編程方式禁用編輯文本光標下面的代碼。
啓用光標
editText.requestFocus();
editText.setCursorVisible(true);
禁用光標
editText.setCursorVisible(false);
使用XML啓用禁用光標
android:cursorVisible="false/true"
android:focusable="false/true"
爲了使edit_text可選擇至(複製/剪切/粘貼/選擇/選擇所有)
editText.setTextIsSelectable(true);
把重點放在觸摸模式寫入以下在XML線
android:focusableInTouchMode="true"
android:clickable="true"
android:focusable="true"
編程
editText.requestFocusFromTouch();
要明確重點觸控模式
editText.clearFocus()
相關問題
- 1. coderpad.io禁用閃爍光標
- 2. 禁用EditText的輸入法,但保持光標閃爍
- 3. 禁用UITextField中的閃爍光標?
- 4. 使用SC.Timer閃爍光標
- 5. 閃光/閃爍UIView
- 6. TextBox光標不閃爍
- 7. 閃爍光標! Cordova/Phonegap IOS
- 8. Android NumberPicker不閃爍光標
- 9. 輸入光標閃爍
- 10. 獲取其中光標閃爍的EditText ID
- 11. 如何閃爍的光標添加到EDITTEXT
- 12. Android EditText(TextView)如何繪製閃爍的光標?
- 13. 光標的EditText在ExpandableListView的不閃爍或出現
- 14. 在swift中禁用UITextField中的閃爍光標?
- 15. selectize.js - 如何禁用選定項目後的閃爍光標?
- 16. 停止Excel閃爍鼠標光標
- 17. 如何在iphone上閃爍(或閃爍)光標?
- 18. Lotus Notes - 光標在掃描收件箱時閃爍/閃爍
- 19. 更好閃爍的閃爍光標模式?
- 20. IE8,IE9,IE10閃爍光標問題
- 21. 計劃返回閃爍的光標
- 22. Google Docs閃爍光標「kix-cursor-caret」
- 23. JTreeTable DnD瘋狂閃爍放置光標
- 24. ListView光標變化和閃爍
- 25. 停止iOS中閃爍的UITextField光標
- 26. C++ win32編輯框光標不閃爍
- 27. 停止光標在IDLE中閃爍
- 28. vim:默認光標不閃爍
- 29. 焦點光標在WPF中閃爍
- 30. 在活動鏈接上閃爍光標
真棒,這連同onclicklistener,使得它可見給出了正確的行爲:) – Warpzit 2012-04-27 08:59:17
機器人:cursorVisible =「假「(爲我工作。謝謝) – 2013-05-15 09:45:41
@cerin有沒有辦法隱藏藍色標記,所以我可以禁用粘貼,但保持光標可見,以便用戶可以看到他在現場的位置? – limlim 2014-08-21 14:05:57