
那么,如何向用户显示这些游标以选择任何用户想要的文本.
*我不想使用EditText并使其看起来像textvIEw.可能是重写textvIEw是首选.
*我附上截图以解释我在寻找什么 –
解决方法 这是很久以前的问题,当时我自己也有这个问题.我自己为自己的应用程序Jade Reader制作了一个Selectable TextVIEw.我已经为 GitHub提供了解决方案. (BitBucket的代码与应用程序绑定,但它更完整和更完美.)Selectable TextView (on GitHub)
Jade Reader (on BitBucket)
使用以下代码将使TextVIEw可选.
package com.zyz.mobile.example;import androID.app.Activity;import androID.os.Bundle;import androID.vIEw.MotionEvent;import androID.vIEw.VIEw;public class MainActivity extends Activity { private SelectableTextVIEw mTextVIEw; private int mtouchX; private int mtouchY; private final static int DEFAulT_SELECTION_LEN = 5; @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); // make sure the TextVIEw's BufferType is Spannable,see the main.xml mTextVIEw = (SelectableTextVIEw) findVIEwByID(R.ID.main_text); mTextVIEw.setDefaultSelectioncolor(0x40FF00FF); mTextVIEw.setonLongClickListener(new VIEw.OnLongClickListener() { @OverrIDe public boolean onLongClick(VIEw v) { showSelectionCursors(mtouchX,mtouchY); return true; } }); mTextVIEw.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { mTextVIEw.hIDeCursor(); } }); mTextVIEw.setontouchListener(new VIEw.OntouchListener() { @OverrIDe public boolean ontouch(VIEw v,MotionEvent event) { mtouchX = (int) event.getX(); mtouchY = (int) event.getY(); return false; } }); } private voID showSelectionCursors(int x,int y) { int start = mTextVIEw.getPreciSEOffset(x,y); if (start > -1) { int end = start + DEFAulT_SELECTION_LEN; if (end >= mTextVIEw.getText().length()) { end = mTextVIEw.getText().length() - 1; } mTextVIEw.showSelectionControls(start,end); } }} 总结 以上是内存溢出为你收集整理的Android-如何在textview上显示文本选择?全部内容,希望文章能够帮你解决Android-如何在textview上显示文本选择?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)