当前位置: 首页 > wzjs >正文

网站排名怎么做个人做外贸怎样起步

网站排名怎么做,个人做外贸怎样起步,wordpress 内容替换,网站备案的好处点击文章中的一个单词,获取它。 通过点击的坐标y来获取行数,通过x坐标获取字符偏移量,向前遍历匹配,向后遍历匹配,匹配不成功则跳出循环。截取开始位置和最后位置的字符串。 主要代码 public String getSelectText…

点击文章中的一个单词,获取它。
在这里插入图片描述

通过点击的坐标y来获取行数,通过x坐标获取字符偏移量,向前遍历匹配,向后遍历匹配,匹配不成功则跳出循环。截取开始位置和最后位置的字符串。

主要代码

public String getSelectText(int currOff) {int leftOff = currOff, rigthOff = currOff;int length = getText().toString().length();while (true) { //左移currOffif (leftOff <= 0) {break;}if (leftOff != 0) {leftOff = leftOff - 1;if (leftOff < 0) {leftOff = 0;}}String selectText = getText().subSequence(leftOff, currOff).toString();if (!selectText.matches("^[()._0-9a-zA-Z'-]*")) {leftOff += 1;break;}}while (true) { //右移currOffif (rigthOff >= length) {break;}if (rigthOff != 0) {rigthOff = rigthOff + 1;if (rigthOff > length) {rigthOff = length;}}String selectText = getText().subSequence(currOff, rigthOff).toString();if (!selectText.matches("^[()_0-9a-zA-Z'-]*")) {rigthOff -= 1;break;}}String endString = "";try {endString = getText().subSequence(leftOff, rigthOff).toString();if (!endString.trim().isEmpty()) {Selection.setSelection((Spannable) getText(), leftOff, rigthOff);//选中Log.d("WordTextView", "setSelection");} else {Log.d("WordTextView", endString);}} catch (Exception e) {e.printStackTrace();}return endString.trim();}

全部代码

主要控件

public class WordTextView extends androidx.appcompat.widget.AppCompatTextView {private Callback callback;public WordTextView(Context context) {super(context);}public WordTextView(Context context, @Nullable AttributeSet attrs) {super(context, attrs);}public WordTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}public Callback getCallback() {return callback;}public void setCallback(Callback callback) {this.callback = callback;}@SuppressLint("ClickableViewAccessibility")@Overridepublic boolean onTouchEvent(MotionEvent event) {super.onTouchEvent(event);Layout layout = getLayout();switch (event.getAction()) {case MotionEvent.ACTION_DOWN://                Selection.removeSelection(getEditableText());break;case MotionEvent.ACTION_HOVER_MOVE:break;case MotionEvent.ACTION_UP:int line = layout.getLineForVertical((int) event.getY());int off = layout.getOffsetForHorizontal(line, (int) event.getX());String selectText = getSelectText(off);if (selectText != null && callback != null) {callback.getWord(selectText);}Log.d("WordTextView1", off + "," + selectText);break;}return true;}public String getSelectText(int currOff) {int leftOff = currOff, rigthOff = currOff;int length = getText().toString().length();while (true) { //左移currOffif (leftOff <= 0) {break;}if (leftOff != 0) {leftOff = leftOff - 1;if (leftOff < 0) {leftOff = 0;}}String selectText = getText().subSequence(leftOff, currOff).toString();if (!selectText.matches("^[()._0-9a-zA-Z'-]*")) {leftOff += 1;break;}}while (true) { //右移currOffif (rigthOff >= length) {break;}if (rigthOff != 0) {rigthOff = rigthOff + 1;if (rigthOff > length) {rigthOff = length;}}String selectText = getText().subSequence(currOff, rigthOff).toString();if (!selectText.matches("^[()_0-9a-zA-Z'-]*")) {rigthOff -= 1;break;}}String endString = "";try {endString = getText().subSequence(leftOff, rigthOff).toString();if (!endString.trim().isEmpty()) {Selection.setSelection((Spannable) getText(), leftOff, rigthOff);//选中Log.d("WordTextView", "setSelection");} else {Log.d("WordTextView", endString);}} catch (Exception e) {e.printStackTrace();}return endString.trim();}public interface Callback {void getWord(String word);}
}

使用

 WordTextView main_wtv = findViewById(R.id.main_wtv);main_wtv.setText(content);TextView textView = findViewById(R.id.main_tv_word);main_wtv.setCallback(new WordTextView.Callback() {@Overridepublic void getWord(String word) {textView.setText(String.format("单词:%s", word));}});

布局

不要设置inputType,否则点击选词失效

 <com.jn.yyz.testone.WordTextViewandroid:id="@+id/main_wtv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:lineSpacingMultiplier="1.5"android:paddingStart="10dp"android:paddingEnd="10dp"android:text="Hello World!"android:textIsSelectable="true"android:textSize="18sp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@id/main_tv_word" />
http://www.dtcms.com/wzjs/497432.html

相关文章:

  • 专门做销售培训的网站软文大全500篇
  • 虚拟主机控制面板怎么建设网站关键词优化排名平台
  • 射阳做网站公司临沂百度推广多少钱
  • 手机网站抢拍是怎么做的全国疫情最新情报
  • 揭阳建设网站矿坛器材友情交换
  • 怎么做网站的轮播图seo 工具推荐
  • 购物网站建设需要什么资质网上销售培训课程
  • 网站开发如何修改域名短视频seo询盘获客系统
  • 企业网站的策划书网络广告文案案例
  • wordpress主题 建站重庆做seo外包的
  • 找别人做公司网站第一步做什么百度竞价和优化的区别
  • 国外网站制作快速提升网站关键词排名
  • 实现网站计划书一个完整的产品运营方案
  • 网站怎样做全国地区推广b2b平台排名
  • 360门户网站怎样做怎么让百度收录网站
  • app软件在哪下载seo关键词有话要多少钱
  • 网游大全上海seo优化bwyseo
  • 南宁网站设计图有没有免费的写文案的软件
  • 网站设计机构b站视频未能成功转码
  • 网站做优化和推广哪个好seo优化工具
  • 企业网站建设及运营现状分析小程序搭建教程
  • 网站建设运营外包营销系统
  • 网页做好怎么变成网站竞价广告点击软件
  • 网站长尾关键词兰州网站seo
  • wordpress的建站教程电商培训机构排名
  • wordpress项目导出网页关键词优化软件
  • 手机网站报名链接怎么做什么都能搜的浏览器
  • 免费观看b站的广告网站平台徐州网站设计
  • 艺术设计教学资源网站建设标准厦门seo厦门起梦
  • 网站专题页策划网站建设公司大全