ITKeyword,专注技术干货聚合推荐

注册 | 登录

Android开发-TextViev XML属性(一)

yirentianran 分享于 2016-07-07

推荐:android textview xml 属性设置

 android:ems 设置TextView的宽度为N个字符的宽度。 android:maxems 设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。 android:minems

2020腾讯云共同战“疫”,助力复工(优惠前所未有!4核8G,5M带宽 1684元/3年),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1054

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

Android开发-TextViev(一)

TextView是Android中最常用的控件之一,大部分时候大家只使用了一些简单的功能。比如:显示一个字符串,显示一个HTML片段等。我们一起来详细了解一下TextView。

android:autoLink

Constant Value Description none 0x00 Match no patterns (default). web 0x01 Match Web URLs. email 0x02 Match email addresses. phone 0x04 Match phone numbers. map 0x08 Match map addresses. all 0x0f Match all patterns (equivalent to web|email|phone|map).

xml片段

    <TextView  android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="phone" android:text="13888888888" />

运行效果

推荐:Android开发学习笔记:TextView的属性详解

up vote 0 down vote favorite 1 For modelviewMatrix I understand how to form translate and scale Matrix. But I am unable to understand how to form view

Tips

点击电话号码后跳转到拨号页面,如果不是电话号码则无效。

源码分析

    /** * 扫描提供的常量,添加对应的link。(这里以phone为例) */
    public static final boolean addLinks(Spannable text, int mask) {
        if (mask == 0) {
            return false;
        }

        URLSpan[] old = text.getSpans(0, text.length(), URLSpan.class);

        for (int i = old.length - 1; i >= 0; i--) {
            text.removeSpan(old[i]);
        }

        ArrayList<LinkSpec> links = new ArrayList<LinkSpec>();

        // 这里只保留了PHONE类型

        if ((mask & PHONE_NUMBERS) != 0) {
            gatherTelLinks(links, text);
        }

        pruneOverlaps(links);

        if (links.size() == 0) {
            return false;
        }

        for (LinkSpec link: links) {
            applyLink(link.url, link.start, link.end, text);
        }

        return true;
    }
    /** * 在URL中增加"tel:",点击后跳转到拨打电话页面 */
    private static final void gatherTelLinks(ArrayList<LinkSpec> links, Spannable s) {
        PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
        Iterable<PhoneNumberMatch> matches = phoneUtil.findNumbers(s.toString(),
                Locale.getDefault().getCountry(), Leniency.POSSIBLE, Long.MAX_VALUE);
        for (PhoneNumberMatch match : matches) {
            LinkSpec spec = new LinkSpec();
            spec.url = "tel:" + PhoneNumberUtils.normalizeNumber(match.rawString());
            spec.start = match.start();
            spec.end = match.end();
            links.add(spec);
        }
    }

android:autoText

从API3以后不建议使用android:autoText,使用inputType替代。

android:breakStrategy

Constant Value Description simple 0 Line breaking uses simple strategy. high_quality 1 Line breaking uses high-quality strategy, including hyphenation. balanced 2 Line breaking strategy balances line lengths.

android:bufferType

Constant Value Description normal 0 Can return any CharSequence, possibly a Spanned one if the source text was Spanned. spannable 1 Can only return Spannable. editable 2 Can only return Spannable and Editable.

待续···

推荐:android xml 控件属性

android:fadingEdgeLength 设置淡入淡出边缘的长度,可以接受大小值的单位是:px、dp、sp、in、mm,也可以参考大小值资源 android:fitsSystemWindows 是否适合系

Android开发-TextViev(一) TextView是Android中最常用的控件之一,大部分时候大家只使用了一些简单的功能。比如:显示一个字符串,显示一个HTML片段等。我们一起来详细了解一下TextView。 and

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。