2012-10-16 18 views

回答

1

我敢肯定,這是隻發生在特定的API或設備。它可能在其他應用程序上也有不同的工作。最終,我沒有看到任何真正的方法來禁用設備本地的東西。另外,那裏的設備非常龐大,所以即使你找到了方法,你也很難禁用它。

2

該指針是一個系統助手,允許用戶輕鬆地移動光標(更準確地說,不僅僅是觸摸EditText)。所以我不知道你是否可以刪除它,但我相信這不是一個好主意。

此外,這是一種指針,將根據設備不同的風格。如果你看看SDK的android源代碼,你會發現一些叫做text_select_handle_XXX.png的drawable我想你會發現如何在你自己的主題中改變系統風格。

8

正如MarvinLabs指出的那樣,這是Android SDK中的一組可繪製對象。他們可以被覆蓋。

  1. 查找您的SDK平臺這些圖片:

    • text_select_handle_left.png
    • text_select_handle_middle.png
    • text_select_handle_right.png
  2. 在將其複製到您的可繪製文件夾,所以你有一個本地副本參考。您可以更改這些顏色,使其變爲空白或任何您想要的。請注意,正如MarvinLabs所說,將它們完全刪除可能並不明智,因爲它們可幫助用戶選擇要剪切和複製的文本。

  3. 如果您尚未在styles.xml中定義自定義主題,請定義一個。然後將這些項目添加到它:

_

<style name="CustomTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:textSelectHandleLeft">@drawable/text_select_handle_left</item> 
    <item name="android:textSelectHandleRight">@drawable/text_select_handle_right</item> 
    <item name="android:textSelectHandle">@drawable/text_select_handle_middle</item> 
</style> 

BEFORE:

before

AFTER:

after

(不同EditTexts但你的想法)

0

您可以用自定義編程EditText做到這一點。您需要創建一個自定義的MovementMethod實現,其中一個canSelectArbitrarily()返回false。然後你只需覆蓋EditText.getDefaultMovementMethod()來回報您的CustomMovementMethod

public class MyEditText extends EditText { 
    private CustomMovementMethod customMovementMethod = new CustomMovementMethod(); 
    @Override 
    public MovementMethod getDefaultMovementMethod() { 
     return customMovementMethod; 
    } 
} 

private class CustomMovementMethod implements MovementMethod { 

    @Override 
    public boolean canSelectArbitrarily() { 
     return false; 
    } 

    @Override 
    public void initialize(TextView widget, Spannable text) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public boolean onGenericMotionEvent(TextView widget, Spannable text, MotionEvent event) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    @Override 
    public boolean onKeyDown(TextView widget, Spannable text, int keyCode, KeyEvent event) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    @Override 
    public boolean onKeyOther(TextView view, Spannable text, KeyEvent event) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    @Override 
    public boolean onKeyUp(TextView widget, Spannable text, int keyCode, KeyEvent event) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    @Override 
    public void onTakeFocus(TextView widget, Spannable text, int direction) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public boolean onTouchEvent(TextView widget, Spannable text, MotionEvent event) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    @Override 
    public boolean onTrackballEvent(TextView widget, Spannable text, MotionEvent event) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

} 
相關問題