有誰知道如何禁用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. 禁用UITextField中的閃爍光標?
- 2. 使用SC.Timer閃爍光標
- 3. 輸入光標閃爍
- 4. Android NumberPicker不閃爍光標
- 5. 閃爍光標! Cordova/Phonegap IOS
- 6. TextBox光標不閃爍
- 7. 閃光/閃爍UIView
- 8. Android EditText(TextView)如何繪製閃爍的光標?
- 9. 光標的EditText在ExpandableListView的不閃爍或出現
- 10. 在swift中禁用UITextField中的閃爍光標?
- 11. 停止Excel閃爍鼠標光標
- 12. 如何在iphone上閃爍(或閃爍)光標?
- 13. 停止iOS中閃爍的UITextField光標
- 14. 停止光標在IDLE中閃爍
- 15. Google Docs閃爍光標「kix-cursor-caret」
- 16. ListView光標變化和閃爍
- 17. JTreeTable DnD瘋狂閃爍放置光標
- 18. 如何更改NetBeans中的光標(光標)閃爍率?
- 19. 閃光燈保持閃爍onmouseover,jquery
- 20. jQuery標題閃爍
- 21. winforms標籤閃爍
- 22. 如何使用CSS隱藏閃爍的文本字段光標?
- 23. 用戶點擊wxTextCtrl時如何顯示閃爍的光標?
- 24. 使用IDirect3DDevice9 :: SetCursorProperties時,非客戶區域上的光標閃爍
- 25. 鼠標光標閃爍和消失Ubuntu 16.04
- 26. 光標在jtable中自動閃爍,無需點擊鼠標
- 27. 關於在ActionScrip3中閃爍的鼠標自定義光標
- 28. 禁用重疊平面的閃爍
- 29. 如何禁用插入符閃爍?
- 30. 如何禁用IPython的提示閃爍
真棒,這連同onclicklistener,使得它可見給出了正確的行爲:) – Warpzit 2012-04-27 08:59:17
機器人:cursorVisible =「假「(爲我工作。謝謝) – 2013-05-15 09:45:41
@cerin有沒有辦法隱藏藍色標記,所以我可以禁用粘貼,但保持光標可見,以便用戶可以看到他在現場的位置? – limlim 2014-08-21 14:05:57