TextView控件

TextView是初级控件主要用来显示文本,也可以显示html。
(1)显示html格式

String html="<font color ='red'>TextView 显示html字体颜色为红色</font><br/>";
tv4.setText(Html.fromHtml(html));

(2)设置阴影效果
<TextView

   android:id="@+id/t2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/t1"
    android:text="文字加粗阴影"
    android:shadowColor="#ff000000"
    android:shadowDx="10"
    android:shadowDy="10"
    android:shadowRadius="1"/>

(3)文字加图片效果

<TextView
    android:id="@+id/t3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/t2"
    android:drawableRight="@drawable/ic_launcher_background"
    android:drawableLeft="@drawable/ic_launcher_foreground"
    android:drawablePadding="10dp"
    android:gravity="center_vertical"
    android:text="文字左右图片"/>

android:drawableRight 在文本框的文本的右边放置图片
android:drawableLeft 在文本框的文本的左边放置图片
android:drawableBottom 在文本框的文本的底部放置图片
android:drawableTop 在文本框的文本的顶部放置图片

(4)SpanableString样式

 <TextView
        android:id="@+id/t1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
  TextView tv1 = findViewById(R.id.t1);
    SpannableString spannableString = new SpannableString("样式demo字体");
    BackgroundColorSpan backgroundColorSpan = new BackgroundColorSpan(Color.BLUE);
    spannableString.setSpan(backgroundColorSpan,0,3, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
    tv1.setText(spannableString);

一下的产量是对于文本样式的开始index与结束index的包含情况
SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE 前面不包括,后面也不包括
SpannableString.SPAN_EXCLUSIVE_INCLUSIVE 前面不包括,后面包括
SpannableString.SPAN_INCLUSIVE_EXCLUSIVE 前面包括,后面不包括
SpannableString.SPAN_INCLUSIVE_INCLUSIVE 前面包括,后面包括

(6)样式点击

   <TextView
        android:id="@+id/t6"
        android:layout_below="@+id/t5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
TextView tv6 = findViewById(R.id.t6);
SpannableString spannableString1 = new SpannableString("设置点击事件的TextView样式");
ClickableSpan clickableSpan = new ClickableSpan() {
    @Override
    public void onClick(@NonNull View widget) {
        Toast.makeText(MainActivity.this,"TextView样式点击事件",Toast.LENGTH_SHORT).show();
    }
};

spannableString1.setSpan(clickableSpan,2,6,SpannableString.SPAN_INCLUSIVE_INCLUSIVE);
tv6.setMovementMethod(LinkMovementMethod.getInstance());
tv6.setText(spannableString1);

注意:点击必须设置setMovementMethod才能有点击效果
(7)跑马等效果

<TextView
    android:id="@+id/t4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/t3"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:scrollHorizontally="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:text="这是跑马灯文字显示,横向显示,为了让文字段落够长我还必须要说些什么,比如双击关注666,老铁"/>

(参考部分网友的解析)
android:ellipsize=”start”—–省略号显示在开头 “…edfg”
android:ellipsize=”end”——省略号显示在结尾 “abcdec…”
android:ellipsize=”middle”—-省略号显示在中间 “ab…fg”
android:ellipsize=”marquee”–以横向滚动方式显示(需获得当前焦点时)
android:scrollHorizontally="true"表示一个EditText满了后是自动横着移动不是默认的换行。
请求普通获取焦点的能力(可以理解为通过物理键盘),在xml中的配置是android:focusable=“true”。
请求有触摸获取焦点的能力,在xml中的配置是 android:focusableInTouchMode=“true”。

最终的全部效果:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值