当前位置: 首页>>代码示例>>Java>>正文


Java Spanned类代码示例

本文整理汇总了Java中android.text.Spanned的典型用法代码示例。如果您正苦于以下问题:Java Spanned类的具体用法?Java Spanned怎么用?Java Spanned使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Spanned类属于android.text包,在下文中一共展示了Spanned类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setEditable

import android.text.Spanned; //导入依赖的package包/类
/**
 * Input frame character length limit
 *
 * @param mEdit     EditText
 * @param maxLength maxLength
 */
public void setEditable(EditText mEdit, int maxLength) {
    if (mEdit.getText().length() < maxLength) {
        mEdit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(maxLength) {
        }});
        mEdit.setCursorVisible(true);
        mEdit.setFocusableInTouchMode(true);
        mEdit.requestFocus();
    } else {
        mEdit.setFilters(new InputFilter[]{new InputFilter() {
            @Override
            public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
                return source.length() < 1 ? dest.subSequence(dstart, dend) : "";
            }
        }});
        mEdit.setCursorVisible(false);
        mEdit.setFocusableInTouchMode(false);
        mEdit.clearFocus();
    }
}
 
开发者ID:Jusenr,项目名称:androidtools,代码行数:26,代码来源:StringUtils.java

示例2: initMarqueeView3

import android.text.Spanned; //导入依赖的package包/类
private void initMarqueeView3() {
    SimpleMF<Spanned> marqueeFactory3 = new SimpleMF<>(MainActivity.this);
    List<Spanned> datas3 = new ArrayList<>();
    datas3.add(Html.fromHtml("<font color=\"#ff0000\">《赋得古原草送别》</font>"));
    datas3.add(Html.fromHtml("<font color=\"#00ff00\">离离原上草,</font>一岁一枯荣。"));
    datas3.add(Html.fromHtml("野火烧不尽,<font color=\"#0000ff\">春风吹又生。</font>"));
    datas3.add(Html.fromHtml("<font color=\"#333333\">远芳侵古道,晴翠接荒城。</font>"));
    datas3.add(Html.fromHtml("<font color=\"#ffffff\">又送王孙去,萋萋满别情。</font>"));
    marqueeFactory3.setData(datas3);
    marqueeView3.setMarqueeFactory(marqueeFactory3);
    marqueeView3.startFlipping();
    marqueeFactory3.setOnItemClickListener(new MarqueeFactory.OnItemClickListener<TextView, Spanned>() {
        @Override
        public void onItemClickListener(MarqueeFactory.ViewHolder<TextView, Spanned> holder) {
            Toast.makeText(MainActivity.this, holder.data, Toast.LENGTH_SHORT).show();
        }
    });
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:19,代码来源:MainActivity.java

示例3: drawLeadingMargin

import android.text.Spanned; //导入依赖的package包/类
public void drawLeadingMargin(Canvas c, Paint p, int x, int dir,
                              int top, int baseline, int bottom,
                              CharSequence text, int start, int end,
                              boolean first, Layout layout) {
    int st = ((Spanned) text).getSpanStart(this);
    int itop = layout.getLineTop(layout.getLineForOffset(st));

    if (dir < 0)
        x -= mBitmap.getWidth();

    int delta = totalHeight - mBitmap.getHeight();

    if (delta > 0) {
        if (mVerticalAlignment == ALIGN_TOP) {
            c.drawBitmap(mBitmap, x, itop, p);
        } else if (mVerticalAlignment == ALIGN_CENTER) {
            c.drawBitmap(mBitmap, x, itop + delta / 2, p);
        } else {
            c.drawBitmap(mBitmap, x, itop + delta, p);
        }
    } else {
        c.drawBitmap(mBitmap, x, itop, p);
    }
}
 
开发者ID:pan2yong22,项目名称:AndroidUtilCode-master,代码行数:25,代码来源:SpanUtils.java

示例4: prepareMainMessageString

import android.text.Spanned; //导入依赖的package包/类
/**
 * Prepares text to be displayed as the infobar's main message, including setting up a
 * clickable link if the infobar requires it.
 */
private CharSequence prepareMainMessageString() {
    SpannableStringBuilder fullString = new SpannableStringBuilder();

    if (mMessageMainText != null) fullString.append(mMessageMainText);

    // Concatenate the text to display for the link and make it clickable.
    if (!TextUtils.isEmpty(mMessageLinkText)) {
        if (fullString.length() > 0) fullString.append(" ");
        int spanStart = fullString.length();

        fullString.append(mMessageLinkText);
        fullString.setSpan(new ClickableSpan() {
            @Override
            public void onClick(View view) {
                mInfoBarView.onLinkClicked();
            }
        }, spanStart, fullString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    }

    return fullString;
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:26,代码来源:InfoBarLayout.java

示例5: testTextDecorationLineLineThroughApplied

import android.text.Spanned; //导入依赖的package包/类
@Test
public void testTextDecorationLineLineThroughApplied() {
  UIManagerModule uiManager = getUIManagerModule();

  ReactRootView rootView = createText(
      uiManager,
      JavaOnlyMap.of(ViewProps.TEXT_DECORATION_LINE, "line-through"),
      JavaOnlyMap.of(ReactTextShadowNode.PROP_TEXT, "test text"));

  TextView textView = (TextView) rootView.getChildAt(0);
  Spanned text = (Spanned) textView.getText();
  UnderlineSpan[] underlineSpans =
      text.getSpans(0, text.length(), UnderlineSpan.class);
  StrikethroughSpan strikeThroughSpan =
      getSingleSpan(textView, StrikethroughSpan.class);
  assertThat(underlineSpans).hasSize(0);
  assertThat(strikeThroughSpan instanceof StrikethroughSpan).isTrue();
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:19,代码来源:ReactTextTest.java

示例6: createMastodonApi

import android.text.Spanned; //导入依赖的package包/类
protected void createMastodonApi() {
    mastodonApiDispatcher = new Dispatcher();

    Gson gson = new GsonBuilder()
            .registerTypeAdapter(Spanned.class, new SpannedTypeAdapter())
            .create();

    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

    OkHttpClient.Builder okBuilder =
            OkHttpUtils.getCompatibleClientBuilder(preferences)
                    .addInterceptor(new AuthInterceptor(this))
                    .dispatcher(mastodonApiDispatcher);

    if (BuildConfig.DEBUG) {
        okBuilder.addInterceptor(
                new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BASIC));
    }

    Retrofit retrofit = new Retrofit.Builder().baseUrl(getBaseUrl())
            .client(okBuilder.build())
            .addConverterFactory(GsonConverterFactory.create(gson))
            .build();

    mastodonApi = retrofit.create(MastodonApi.class);
}
 
开发者ID:Vavassor,项目名称:Tusky,代码行数:27,代码来源:BaseActivity.java

示例7: setText

import android.text.Spanned; //导入依赖的package包/类
public void setText(String text) {
    int startIndex = 0;
    while (true) {

        int start = text.indexOf("《");
        int end = text.indexOf("》");
        if (start < 0 || end < 0) {
            append(text.substring(startIndex));
            break;
        }

        append(text.substring(startIndex, start));

        SpannableString spanableInfo = new SpannableString(text.substring(start, end + 1));
        spanableInfo.setSpan(new Clickable(spanableInfo.toString()), 0, end + 1 - start, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        append(spanableInfo);
        //setMovementMethod()该方法必须调用,否则点击事件不响应
        setMovementMethod(LinkMovementMethod.getInstance());
        text = text.substring(end + 1);

        LogUtils.e(spanableInfo.toString());
    }
}
 
开发者ID:zwmlibs,项目名称:BookReader-master,代码行数:24,代码来源:BookContentTextView.java

示例8: readNode

import android.text.Spanned; //导入依赖的package包/类
private void readNode(Object node, Table table) {
    if (node instanceof TagNode) {
        TagNode tagNode = (TagNode) node;
        if (tagNode.getName().equals("td") || tagNode.getName().equals("th")) {
            Spanned result = this.getSpanner().fromTagNode(tagNode);
            table.addCell(result);
            return;
        }
        if (tagNode.getName().equals("tr")) {
            table.addRow();
        }
        for (Object child : tagNode.getChildTags()) {
            readNode(child, table);
        }
    }

}
 
开发者ID:duyp,项目名称:mvvm-template,代码行数:18,代码来源:TableHandler.java

示例9: applyLink

import android.text.Spanned; //导入依赖的package包/类
private static final void applyLink(String url, int start, int end, Spannable text, final ColorStateList linkColor, final ColorStateList bgColor, QMUIOnSpanClickListener l) {
    text.setSpan(new StyleableURLSpan(url, l) {

        @Override
        public void updateDrawState(TextPaint ds) {
            if (linkColor != null) {
                int normalLinkColor = linkColor.getColorForState(new int[]{android.R.attr.state_enabled, -android.R.attr.state_pressed}, Color.TRANSPARENT);
                int pressedLinkColor = linkColor.getColorForState(new int[]{android.R.attr.state_pressed}, normalLinkColor);
                ds.linkColor = mPressed ? pressedLinkColor : normalLinkColor;
            }
            if (bgColor != null) {
                int normalBgColor = bgColor.getColorForState(new int[]{android.R.attr.state_enabled, -android.R.attr.state_pressed}, Color.TRANSPARENT);
                int pressedBgColor = bgColor.getColorForState(new int[]{android.R.attr.state_pressed}, normalBgColor);
                ds.bgColor = mPressed ? pressedBgColor : normalBgColor;
            }
            super.updateDrawState(ds);
            ds.setUnderlineText(false);
        }

    }, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
 
开发者ID:coopese,项目名称:qmui,代码行数:22,代码来源:QMUILinkify.java

示例10: matchMention

import android.text.Spanned; //导入依赖的package包/类
public static Spannable matchMention(Spannable spannable) {
    String text = spannable.toString();

    Pattern pattern = Pattern.compile(MATCH_MENTION);
    Matcher matcher = pattern.matcher(text);

    while (matcher.find()) {
        String str = matcher.group();
        int matcherStart = matcher.start();
        int matcherEnd = matcher.end();
        spannable.setSpan(new RichEditText.TagSpan(str), matcherStart, matcherEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        log("matchMention:" + str + " " + matcherStart + " " + matcherEnd);
    }

    return spannable;
}
 
开发者ID:hsj-xiaokang,项目名称:OSchina_resources_android,代码行数:17,代码来源:RichEditText.java

示例11: filter

import android.text.Spanned; //导入依赖的package包/类
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
	if (end - start == 1) {
		char c = source.charAt(0);
		if (c == '.' || c == ',') {
			onDotOrComma();
			return "";
		}
              if (isIncomeExpenseEnabled()) {
                  if (c == '-') {
                      setExpense();
                      return "";
                  }
                  if (c == '+') {
                      setIncome();
                      return "";
                  }
              }
	}
	return super.filter(source, start, end, dest, dstart, dend);
}
 
开发者ID:tiberiusteng,项目名称:financisto1-holo,代码行数:22,代码来源:AmountInput.java

示例12: onUploadSuccess

import android.text.Spanned; //导入依赖的package包/类
private void onUploadSuccess(final QueuedMedia item, Attachment media) {
    item.id = media.id;
    item.preview.setProgress(-1);
    item.readyStage = QueuedMedia.ReadyStage.UPLOADED;

    /* Add the upload URL to the text field. Also, keep a reference to the span so if the user
     * chooses to remove the media, the URL is also automatically removed. */
    item.uploadUrl = new URLSpan(media.textUrl);
    int end = 1 + media.textUrl.length();
    SpannableStringBuilder builder = new SpannableStringBuilder();
    builder.append(' ');
    builder.append(media.textUrl);
    builder.setSpan(item.uploadUrl, 1, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    int cursorStart = textEditor.getSelectionStart();
    int cursorEnd = textEditor.getSelectionEnd();
    textEditor.append(builder);
    textEditor.setSelection(cursorStart, cursorEnd);

    waitForMediaLatch.countDown();
}
 
开发者ID:Vavassor,项目名称:Tusky,代码行数:21,代码来源:ComposeActivity.java

示例13: fromHtml

import android.text.Spanned; //导入依赖的package包/类
public static Spanned fromHtml(String html){
    Spanned result;
    if (android.os.Build.VERSION.SDK_INT >= 24) {
       result = Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY);
    } else {
       result = Html.fromHtml(html);
    }
    return result;
}
 
开发者ID:dftec-es,项目名称:planetcon,代码行数:10,代码来源:TextBuilder.java

示例14: buildWavingSpans

import android.text.Spanned; //导入依赖的package包/类
@SuppressWarnings("Range")          // Lint bug: the if makes sure waveCharDelay >= 0
private JumpingBeansSpan[] buildWavingSpans(SpannableStringBuilder sbb) {
    JumpingBeansSpan[] spans;
    if (waveCharDelay == DEFAULT_WAVE_CHAR_DELAY) {
        waveCharDelay = loopDuration / (3 * (endPos - startPos));
    }

    spans = new JumpingBeansSpan[endPos - startPos];
    for (int pos = startPos; pos < endPos; pos++) {
        JumpingBeansSpan jumpingBean =
                new JumpingBeansSpan(textView, loopDuration, pos - startPos, waveCharDelay, animRange);
        sbb.setSpan(jumpingBean, pos, pos + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        spans[pos - startPos] = jumpingBean;
    }
    return spans;
}
 
开发者ID:stytooldex,项目名称:stynico,代码行数:17,代码来源:JumpingBeans.java

示例15: filter

import android.text.Spanned; //导入依赖的package包/类
@Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
                               int dend) {
        // check black-list set
        for (int i = 0; i < source.length(); i++) {
          //  LogUtil.e(Integer.toHexString(source.charAt(i)));
        }
     //   LogUtil.e(source.toString() + " length: " + source.toString().length() +
		 // " ;bytes length: " + source.toString().getBytes().length);
//        Iterator<String> iterator = filterSet.iterator();
//        while (iterator.hasNext()) {
//            String filter = iterator.next();
//            if (filter.equals(source.toString())) {
//                LogUtil.e(filter + " length: " + filter.length() +
//                        " ;bytes length: " + filter.getBytes().length);
//                for (int i= 0; i < source.length(); i++){
//                    LogUtil.e(Integer.toHexString(source.charAt(i)));
//                }
//                return "";
//            }
//        }
        if (filterSet.contains(source.toString())) {
            return "";
        }
        return source;
    }
 
开发者ID:stytooldex,项目名称:stynico,代码行数:27,代码来源:EmojiFilter.java


注:本文中的android.text.Spanned类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。