当单击界面时,直接选中一个完整的单词,类似点译阅读中的这个功能!

解决方案 »

  1.   

    首先要让你的view实现选择文字的功能,一般是自定义View或者继承EditText等等.在点击文字时,可以获得一个点击处的索引位置,然后向前查找一个空格,再向后查找一个空格,把这两个位置之间的单词设为选中就可以了.
      

  2.   

    谢谢,问题已成功解决,实现的比较笨点,但还是实现了, public boolean onTouchEvent(MotionEvent event) {  
         // getScrollY()  得到原点到Y点的坐标
         int action = event.getAction();           
         Layout layout = getLayout();            
         int line = 0;           
         switch(action) {            
         case MotionEvent.ACTION_DOWN:                
         line = layout.getLineForVertical(getScrollY()+ (int)event.getY());  //getLineForVertical(intverticalPointPosition)  //得到某点在垂直方向上的行数值
         off = layout.getOffsetForHorizontal(line, (int)event.getX());  
         int on=off;
         String s=(String)getEditableText().toString();
         //.substring(off,off+1);
         while(!" ".equals(s.substring(off,off+1))){
         off++;
         }
         while(!(" ".equals(s.substring(on-1,on)))){
         on--;
         }
         //.subSequence(off, off+1);
         Selection.setSelection(getEditableText(), on, off); 
    //     Selection.setSelection(getEditableText(), off);
         break;            
        
         case MotionEvent.ACTION_MOVE:            
        
         case MotionEvent.ACTION_UP:              
    // line = layout.getLineForVertical(getScrollY()+(int)event.getY());                 
    // int curOff = layout.getOffsetForHorizontal(line, (int)event.getX());                            
    // Selection.setSelection(getEditableText(), off, curOff);               
    // break;           
         }            
         return true;     
         }