{"id":5442,"date":"2021-11-04T16:15:00","date_gmt":"2021-11-04T08:15:00","guid":{"rendered":"http:\/\/xinyiworld.top\/wordpress\/?p=5442"},"modified":"2021-11-04T16:58:52","modified_gmt":"2021-11-04T08:58:52","slug":"textview","status":"publish","type":"post","link":"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442","title":{"rendered":"TextView"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_16 counter-hierarchy counter-decimal ez-toc-grey\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\">\u76ee\u5f55<\/p>\n<span class=\"ez-toc-title-toggle\"><a class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" style=\"display: none;\"><i class=\"ez-toc-glyphicon ez-toc-icon-toggle\"><\/i><\/a><\/span><\/div>\n<nav><ul class=\"ez-toc-list ez-toc-list-level-1\"><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-1\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#1%E8%AE%BE%E7%BD%AE%E5%AD%97%E4%B8%8E%E5%AD%97%E4%B9%8B%E9%97%B4%E7%9A%84%E8%B7%9D%E7%A6%BB\" title=\"1.\u8bbe\u7f6e\u5b57\u4e0e\u5b57\u4e4b\u95f4\u7684\u8ddd\u79bb\">1.\u8bbe\u7f6e\u5b57\u4e0e\u5b57\u4e4b\u95f4\u7684\u8ddd\u79bb<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-2\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#2%E8%AE%BE%E7%BD%AE%E8%A1%8C%E9%97%B4%E8%B7%9D\" title=\"2.\u8bbe\u7f6e\u884c\u95f4\u8ddd\">2.\u8bbe\u7f6e\u884c\u95f4\u8ddd<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-3\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#3%E6%B7%BB%E5%8A%A0%E6%96%87%E6%9C%AC\" title=\"3.\u6dfb\u52a0\u6587\u672c\">3.\u6dfb\u52a0\u6587\u672c<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-4\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#4%E6%8D%A2%E8%A1%8C%E6%8E%92%E7%89%88%E9%97%AE%E9%A2%98\" title=\"4.\u6362\u884c\u6392\u7248\u95ee\u9898\">4.\u6362\u884c\u6392\u7248\u95ee\u9898<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-5\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#5%E8%87%AA%E9%80%82%E5%BA%94TextView%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F\" title=\"5.\u81ea\u9002\u5e94TextView\u5b57\u4f53\u5927\u5c0f\">5.\u81ea\u9002\u5e94TextView\u5b57\u4f53\u5927\u5c0f<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-6\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#6%E9%83%A8%E5%88%86%E5%AD%97%E4%BD%93%E6%A0%B7%E5%BC%8F%E5%8F%98%E5%8C%96\" title=\"6.\u90e8\u5206\u5b57\u4f53\u6837\u5f0f\u53d8\u5316\">6.\u90e8\u5206\u5b57\u4f53\u6837\u5f0f\u53d8\u5316<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-7\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#7%E6%96%87%E5%AD%97%E8%BF%87%E9%95%BF%E6%97%B6%E7%9C%81%E7%95%A5%E9%83%A8%E5%88%86%E6%88%96%E8%80%85%E6%BB%9A%E5%8A%A8%E6%98%BE%E7%A4%BA\" title=\"7.\u6587\u5b57\u8fc7\u957f\u65f6\u7701\u7565\u90e8\u5206\u6216\u8005\u6eda\u52a8\u663e\u793a\">7.\u6587\u5b57\u8fc7\u957f\u65f6\u7701\u7565\u90e8\u5206\u6216\u8005\u6eda\u52a8\u663e\u793a<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-8\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#8%E6%96%87%E5%AD%97%E5%8A%A0%E4%B8%8B%E5%88%92%E7%BA%BF\" title=\"8.\u6587\u5b57\u52a0\u4e0b\u5212\u7ebf\">8.\u6587\u5b57\u52a0\u4e0b\u5212\u7ebf<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-9\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#9%E8%AE%BE%E7%BD%AE%E8%B7%B3%E8%BD%AC%E9%93%BE%E6%8E%A5\" title=\"9.\u8bbe\u7f6e\u8df3\u8f6c\u94fe\u63a5\">9.\u8bbe\u7f6e\u8df3\u8f6c\u94fe\u63a5<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-10\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#10%E5%AD%97%E4%BD%93%E5%8A%A0%E7%B2%97\" title=\"10.\u5b57\u4f53\u52a0\u7c97\">10.\u5b57\u4f53\u52a0\u7c97<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-11\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#11padding%E5%80%BC%E8%AE%BE%E7%BD%AE%E6%97%A0%E6%95%88\" title=\"11.padding\u503c\u8bbe\u7f6e\u65e0\u6548\">11.padding\u503c\u8bbe\u7f6e\u65e0\u6548<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-12\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=5442\/#12%E5%8E%BB%E6%8E%89%E9%BB%98%E8%AE%A4%E7%9A%84%E7%95%99%E7%99%BD\" title=\"12.\u53bb\u6389\u9ed8\u8ba4\u7684\u7559\u767d\">12.\u53bb\u6389\u9ed8\u8ba4\u7684\u7559\u767d<\/a><\/li><\/ul><\/nav><\/div>\n<h4><span class=\"ez-toc-section\" id=\"1%E8%AE%BE%E7%BD%AE%E5%AD%97%E4%B8%8E%E5%AD%97%E4%B9%8B%E9%97%B4%E7%9A%84%E8%B7%9D%E7%A6%BB\"><\/span>1.\u8bbe\u7f6e\u5b57\u4e0e\u5b57\u4e4b\u95f4\u7684\u8ddd\u79bb<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<pre><code class=\"language-java line-numbers\">public class SpacingTextView extends TextView{\n    private float letterSpacing = LetterSpacing.BIGGEST;\n    private CharSequence originalText = \"\";\n\n\n    public SpacingTextView(Context context) {\n        super(context);\n    }\n\n    public SpacingTextView(Context context, AttributeSet attrs){\n        super(context, attrs);\n        originalText = super.getText();\n        applyLetterSpacing();\n        this.invalidate();\n    }\n\n    public SpacingTextView(Context context, AttributeSet attrs, int defStyle){\n        super(context, attrs, defStyle);\n    }\n\n    public float getLetterSpacing() {\n        return letterSpacing;\n    }\n\n    public void setLetterSpacing(float letterSpacing) {\n        this.letterSpacing = letterSpacing;\n        applyLetterSpacing();\n    }\n\n    @Override\n    public void setText(CharSequence text, BufferType type) {\n        originalText = text;\n        applyLetterSpacing();\n    }\n\n    @Override\n    public CharSequence getText() {\n        return originalText;\n    }\n\n    \/**\n     * \u5b57\u8ddd\u4e3a\u4efb\u4f55\u5b57\u7b26\u4e32\uff08\u6280\u672f\u4e0a\uff0c\u4e00\u4e2a\u7b80\u5355\u7684\u65b9\u6cd5\u4e3aCharSequence\u4e0d\u4f7f\u7528\uff09\u7684TextView\n     *\/\n    private void applyLetterSpacing() {\n        if (this == null || this.originalText == null) return;\n        StringBuilder builder = new StringBuilder();\n        for(int i = 0; i &lt; originalText.length(); i++) {\n            String c = \"\"+ originalText.charAt(i);\n            builder.append(c.toLowerCase());\n            if(i+1 &lt; originalText.length()) {\n                builder.append(\"\\u00A0\");\n            }\n        }\n        SpannableString finalText = new SpannableString(builder.toString());\n        if(builder.toString().length() &gt; 1) {\n            for(int i = 1; i &lt; builder.toString().length(); i+=2) {\n                finalText.setSpan(new ScaleXSpan((letterSpacing+1)\/10), i, i+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);\n            }\n        }\n        super.setText(finalText, BufferType.SPANNABLE);\n    }\n\n    public class LetterSpacing {\n        public final static float NORMAL = 0;\n        public final static float NORMALBIG = (float)0.025;\n        public final static float BIG = (float)0.05;\n        public final static float BIGGEST = (float)0.2;\n    }\n}\n\n<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"2%E8%AE%BE%E7%BD%AE%E8%A1%8C%E9%97%B4%E8%B7%9D\"><\/span>2.\u8bbe\u7f6e\u884c\u95f4\u8ddd<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.cnblogs.com\/yejiurui\/p\/3822683.html\">https:\/\/www.cnblogs.com\/yejiurui\/p\/3822683.html<\/a><\/p>\n<pre><code class=\"language-java line-numbers\">1\u3001android:lineSpacingExtra\n\u8bbe\u7f6e\u884c\u95f4\u8ddd\uff0c\u5982\u201d8dp\u201d\u3002\n\n2\u3001android:lineSpacingMultiplier\n\u8bbe\u7f6e\u884c\u95f4\u8ddd\u7684\u500d\u6570\uff0c\u5982\u201d1.5\u2033\u3002\n<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"3%E6%B7%BB%E5%8A%A0%E6%96%87%E6%9C%AC\"><\/span>3.\u6dfb\u52a0\u6587\u672c<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>append(String)<\/p>\n<h4><span class=\"ez-toc-section\" id=\"4%E6%8D%A2%E8%A1%8C%E6%8E%92%E7%89%88%E9%97%AE%E9%A2%98\"><\/span>4.\u6362\u884c\u6392\u7248\u95ee\u9898<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/blog.csdn.net\/dai_zhenliang\/article\/details\/24357889\">https:\/\/blog.csdn.net\/dai_zhenliang\/article\/details\/24357889<\/a><\/p>\n<h4><span class=\"ez-toc-section\" id=\"5%E8%87%AA%E9%80%82%E5%BA%94TextView%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F\"><\/span>5.\u81ea\u9002\u5e94TextView\u5b57\u4f53\u5927\u5c0f<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/github.com\/grantland\/android-autofittextview\">https:\/\/github.com\/grantland\/android-autofittextview<\/a><\/p>\n<h4><span class=\"ez-toc-section\" id=\"6%E9%83%A8%E5%88%86%E5%AD%97%E4%BD%93%E6%A0%B7%E5%BC%8F%E5%8F%98%E5%8C%96\"><\/span>6.\u90e8\u5206\u5b57\u4f53\u6837\u5f0f\u53d8\u5316<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.cnblogs.com\/kingsam\/p\/5643598.html\">https:\/\/www.cnblogs.com\/kingsam\/p\/5643598.html<\/a><\/p>\n<h4><span class=\"ez-toc-section\" id=\"7%E6%96%87%E5%AD%97%E8%BF%87%E9%95%BF%E6%97%B6%E7%9C%81%E7%95%A5%E9%83%A8%E5%88%86%E6%88%96%E8%80%85%E6%BB%9A%E5%8A%A8%E6%98%BE%E7%A4%BA\"><\/span>7.\u6587\u5b57\u8fc7\u957f\u65f6\u7701\u7565\u90e8\u5206\u6216\u8005\u6eda\u52a8\u663e\u793a<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.cnblogs.com\/fly_binbin\/archive\/2012\/08\/18\/2645074.html\">https:\/\/www.cnblogs.com\/fly_binbin\/archive\/2012\/08\/18\/2645074.html<\/a><\/p>\n<h4><span class=\"ez-toc-section\" id=\"8%E6%96%87%E5%AD%97%E5%8A%A0%E4%B8%8B%E5%88%92%E7%BA%BF\"><\/span>8.\u6587\u5b57\u52a0\u4e0b\u5212\u7ebf<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u5982\u679c\u662f\u5728\u8d44\u6e90\u6587\u4ef6\u91cc\uff0c\u53ef\u4ee5\u8fd9\u6837\u5199<\/p>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;resources&gt;\n         &lt;string name=\"hello\"&gt;&lt;u&gt;phone: 1390123456&lt;\/u&gt;&lt;\/string&gt;\n    &lt;\/resources&gt;\n<\/code><\/pre>\n<p>\u5982\u679c\u662f\u4ee3\u7801\u8fd9\u6837\u5199<\/p>\n<pre><code class=\"language-java line-numbers\">    TextView textView = (TextView)findViewById(R.id.testView); \n    textView.setText(Html.fromHtml(\"&lt;u&gt;\"+\"hahaha\"+\"&lt;\/u&gt;\"));\n<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"9%E8%AE%BE%E7%BD%AE%E8%B7%B3%E8%BD%AC%E9%93%BE%E6%8E%A5\"><\/span>9.\u8bbe\u7f6e\u8df3\u8f6c\u94fe\u63a5<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/blog.csdn.net\/wx_962464\/article\/details\/8471195\">http:\/\/blog.csdn.net\/wx_962464\/article\/details\/8471195<\/a> \uff08\u81ea\u52a8\u8bc6\u522b\u8d85\u94fe\u63a5\uff0c\u70b9\u51fb\u5c31\u81ea\u52a8\u8df3\u8f6c\u7f51\u9875\uff1b\u81ea\u52a8\u8bc6\u522b\u624b\u673a\u53f7\uff0c\u70b9\u51fb\u5c31\u6253\u7535\u8bdd\uff0c\u52a0\u4e2aautoLink\u5c5e\u6027\u5c31ok\u4e86\u3002\uff09<\/p>\n<p>\u8df3\u8f6c\u5230\u7279\u5b9a\u7684activity<br \/>\n<a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/my.oschina.net\/fengheju\/blog\/176105\">http:\/\/my.oschina.net\/fengheju\/blog\/176105<\/a><\/p>\n<p>\u8df3\u8f6c\u5230\u7f51\u9875<br \/>\n<a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/blog.sina.com.cn\/s\/blog_588508f80101292b.html\">http:\/\/blog.sina.com.cn\/s\/blog_588508f80101292b.html<\/a><\/p>\n<p>\u6ce8\u610f\uff1a\u7ed9text\u8bbe\u7f6elink\u5c5e\u6027<\/p>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/zhidao.baidu.com\/link?url=sGk8C0mF071DNPQQ3uITBUOf-IL0_uREOkPmC61fwMXeIrf86QnhPlIT0h8d4JuT157Kc84sEr_5OTWiITaqpRDbIE2Y4oZmelGRcpHYyL7\">http:\/\/zhidao.baidu.com\/link?url=sGk8C0mF071DNPQQ3uITBUOf-IL0_uREOkPmC61fwMXeIrf86QnhPlIT0h8d4JuT157Kc84sEr_5OTWiITaqpRDbIE2Y4oZmelGRcpHYyL7<\/a><\/p>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/www.android100.org\/html\/201304\/20\/2237.html\">http:\/\/www.android100.org\/html\/201304\/20\/2237.html<\/a>  \uff08\u8bbe\u7f6e\u94fe\u63a5\u70b9\u51fb\u8df3\u8f6c\uff09<\/p>\n<h4><span class=\"ez-toc-section\" id=\"10%E5%AD%97%E4%BD%93%E5%8A%A0%E7%B2%97\"><\/span>10.\u5b57\u4f53\u52a0\u7c97<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<pre><code class=\"language-java line-numbers\">TextView tv = (TextView)findViewById(R.id.tv); \nTextPaint tp = tv.getPaint(); \ntp.setFakeBoldText(true); \n<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"11padding%E5%80%BC%E8%AE%BE%E7%BD%AE%E6%97%A0%E6%95%88\"><\/span>11.padding\u503c\u8bbe\u7f6e\u65e0\u6548<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u7ed9TextView\u8bbe\u7f6e\u4e86padding\u503c\u6ca1\u6709\u6548\u679c\uff0c\u539f\u56e0\u662fgravity\u662f\u53f3\u5bf9\u9f50\uff0cpaddingRight\u5c5e\u6027\u624d\u4f1a\u8d77\u4f5c\u7528\u3002<\/p>\n<h4><span class=\"ez-toc-section\" id=\"12%E5%8E%BB%E6%8E%89%E9%BB%98%E8%AE%A4%E7%9A%84%E7%95%99%E7%99%BD\"><\/span>12.\u53bb\u6389\u9ed8\u8ba4\u7684\u7559\u767d<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>includeFontPadding=false<\/p>\n<button class=\"simplefavorite-button\" data-postid=\"5442\" data-siteid=\"1\" data-groupid=\"1\" data-favoritecount=\"0\" style=\"\">\u6536\u85cf <i class=\"sf-icon-star-empty\"><\/i><\/button>","protected":false},"excerpt":{"rendered":"<p>\u76ee\u5f55 1.\u8bbe\u7f6e\u5b57\u4e0e\u5b57\u4e4b\u95f4\u7684\u8ddd\u79bb2.\u8bbe\u7f6e\u884c\u95f4\u8ddd3.\u6dfb\u52a0\u6587\u672c4.\u6362\u884c\u6392\u7248\u95ee\u98985.\u81ea\u9002\u5e94TextView\u5b57 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[336],"tags":[],"_links":{"self":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/5442"}],"collection":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5442"}],"version-history":[{"count":7,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/5442\/revisions"}],"predecessor-version":[{"id":5449,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/5442\/revisions\/5449"}],"wp:attachment":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5442"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}