我在這個問題上長時間尋找解決方案,所以我決定在這裏問一下。如何禁用editText中的「複製/剪切/粘貼/」工具欄,但仍然有光標選擇一些文本?
我寫記事本應用程序,點擊「新的註釋」選項後,新的活動出現,看起來像這樣:
因爲我的應用程序的概念,它允許用戶通過格式文本菜單編輯文本(在屏幕底部可見)我想讓用戶選擇文本,而不顯示底部的鍵盤和複製/剪切/粘貼菜單。鍵盤是通過切換按鈕accesed(這工作得很好,對兩行代碼)
我已經當焦點是通過下面的代碼設置的EditText禁用鍵盤彈出:
public static void disableSoftInputFromAppearing(EditText editText) {
if (Build.VERSION.SDK_INT >= 11) {
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setTextIsSelectable(true);
} else {
editText.setRawInputType(InputType.TYPE_NULL);
editText.setFocusable(true);
}
}
的方法通過鍵盤按鍵上稱爲應用工具欄:
public void toggleKeyboard(MenuItem item) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}
我想選擇文本(其通過雙擊文本實現或長按的話),但主要問題是複製/剪切/粘貼工具欄,因爲它涵蓋了我的應用程序的工具欄:
這就是爲什麼我想擺脫這個工具欄,但仍然有可能選擇特定的文本範圍。
P.S.手機型號:HTC一個M7
任何幫助,將不勝感激
最好的問候, 湯姆
我以前試過這個解決方案。它可以防止出現自定義上下文菜單,但也會禁用選擇文本按鈕。我有一個遊標,但是我不能「分開這個遊標」來選擇開始和結束選擇文本的節點。 – Tomek
Yout下一個解決方案與第一個解決方案相同。我做了一些研究,並且發現,在手機處於水平方向模式時,實際上可以選擇文本。當我在水平模式下打開鍵盤時,editText是我能看到的唯一的東西(鍵盤除外)。遊標將應用程序默認的顏色更改爲系統默認值,這真的很奇怪。我想我需要找到另一種解決方案,也許我只會爲複製/粘貼工具欄留出空間。無論如何,感謝您的幫助,我真的很感謝:) – Tomek
你是最好的。 – Stanojkovic