View----TextView初步认识

目录

无标题.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属性 自动识别字符串内容中对应的字段


行高控制

属性 含义
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


中间可点击

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 = "

\"laugh\" 简单的图文混排" + "\"cheeky\"这是展示内容

"; 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://upload-images.jianshu.io/upload_images/11678839-00c82a5383747958.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你可能感兴趣的:(View----TextView初步认识)