View----TextView初步认识

作者: pgydbh | 来源:发表于2018-05-02 18:33 被阅读66次

目录

无标题.png

说明

textview用的特别多,所以使用的方式也很多,这里选择七种初步认识textView的基本用法。

省略样式

属性 效果
end 结尾省略
start 开头省略
middle 中间省略
none 不省略
marquzz 帮助设置跑马灯效果
示例代码
android:ellipsize="end"
跑马灯示例

xml

android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"

设置选中

txt = findViewById(R.id.txt);
txt.setSelected(true);

自动链接

设置autolink属性 自动识别字符串内容中对应的字段

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/txt"
    android:textSize="20sp"
    android:autoLink="email"
    android:text="我的邮箱 2xxxxxxxxx@qq.com"/>

行高控制

属性 含义
lineSpacingMultiplier 0时,lineSpacingExtra的值=行间距+字高度(脑补)
lineSpacingExtra 行高
layout_height 行数*行高
paddingTop (行高-字高)/2
paddingBottom (行高-字高)/2
textSize 字高(通常1sp=1dp)
android:lineSpacingMultiplier="0"
android:layout_height="200dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:lineSpacingExtra="50dp"
android:textSize="20sp"

阴影效果

属性 含义
shadowColor 阴影颜色
shadowRadius 阴影半径,越大阴影越模糊
shadowDx 阴影相对于原文本横向相对距离
shadowDy 阴影相对于原文本纵向相对距离
android:shadowColor="#ff000000"
android:shadowRadius="10"
android:shadowDx="30"
android:shadowDy="30"

自定义字体

Android 8.0之前

1.建立assets文件夹,放入字体文件
2.使用代码

Typeface typeFace = Typeface.createFromAsset(getAssets(), "huawenhupo.ttf");
txt.setTypeface(typeFace);
Android 8.0之后

1.res下建立font文件夹,放入字体文件
2.使用代码,设置fontFamily

<TextView
    android:id="@+id/txt"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:fontFamily="@font/huawenhupo"
    android:gravity="center_horizontal"
    android:text="主页" />

中间可点击

SpannableString spannableString = new SpannableString("测试《可点击文字》");
spannableString.setSpan(new ClickableSpan() {
    @Override
    public void onClick(View view) {
        Toast.makeText(TestDemo.this, "触发了点击事件", Toast.LENGTH_SHORT).show();
    }
    @Override
    public void updateDrawState(TextPaint ds) {
        ds.setColor(Color.RED);//设置字体颜色
        ds.setUnderlineText(true);//设置没有下划线
    }
}, 3, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(spannableString);
txt.setHighlightColor(getResources().getColor(android.R.color.transparent));//去掉背景
txt.setMovementMethod(LinkMovementMethod.getInstance());//必须设置不然点击无效

图文混排

final String string = "<p><img alt=\"laugh\" height=\"23\" src=\"http://img3.imgtn.bdimg.com/it/u=3140599426,288343775&fm=26&gp=0.jpg\" " +
        "title=\"laugh\" width=\"23\" /> 简单的图文混排" +
        "<img alt=\"cheeky\" height=\"23\" src=\"http://img3.imgtn.bdimg.com/it/u=3140599426,288343775&fm=26&gp=0.jpg\" " +
        "title=\"cheeky\" width=\"23\" />这是展示内容</p>";

final Html.ImageGetter imgGetter = new Html.ImageGetter() {
    public Drawable getDrawable(String source) {
        Drawable drawable = null;
        URL url = null;
        try {
            url = new URL(source);
            drawable = Drawable.createFromStream(url.openStream(), "img");
        } catch (Exception e) {
            return null;
        }
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
                .getIntrinsicHeight());
        return drawable;
    }
};

new Thread(new Runnable() {
    @Override
    public void run() {
        final Spanned text = Html.fromHtml(string, imgGetter, null);
        handler.post(new Runnable() {
            @Override
            public void run() {
                txt.setText(text);
            }
        });
    }
}).start();![无标题.png](https://img.haomeiwen.com/i11678839/00c82a5383747958.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

相关文章

  • View----TextView初步认识

    目录 说明 textview用的特别多,所以使用的方式也很多,这里选择七种初步认识textView的基本用法。 省...

  • 初步认识

    初识C语言 开始 我从高三毕业假期开始涉及C语言学习,经过了九个月左右的学习,初步认识了这种语言的语法和具体特质。...

  • BOM初步认识

    什么是BOM BOM:Browser Object Model 浏览器对象模型BOM是JavaScript组成之一...

  • 初步认识zookeeper

    什么是zookeeper zookeeper 是一个开源的分布式协调服务,由雅虎公司创建,是google chub...

  • [ZooKeeper]初步认识

    前言在学习任何技术知识的时候,一定要思考他的本质!3w原则想必都听过:why、what、how。大why,小wha...

  • 初步认识TCGA

    转自生信笔记http://www.bioinfo-scrounger.com/archives/271 肿瘤基因组...

  • Fiddler初步认识

    1、抓包工具有很多,为什么要使用Fiddler呢?原因如下: a.Firebug虽然可以抓包,但是对于分析http...

  • 初步认识“运营”

    运营一直以来给我的感觉是一种很抽象的东西,他有点类似带团队、经营一个网店或项目。其实运营还真是五花八、各种各样 。...

  • 初步认识Html

    什么是html(Hpyetext Markup Language):由一些称为标签的经过编码的标记符组成标签把包含...

  • Docker初步认识

    一、Docker简介 1、Docker是什么? “Docker 是一个基于Go语言实现的开源应用容器引擎,让开发者...

网友评论

    本文标题:View----TextView初步认识

    本文链接:https://www.haomeiwen.com/subject/elbcrftx.html