TextView之Drawable及Ellipsize属性

  1. 在TextView的上下左右放置图片

android:drawableLeft
android:drawableTop
android:drawableRight
android:drawableBottom

日常业务场景 :完成一个既有图片,又有文字,还有背景的图标。需要< RelativeLayout > + < ImageView > + < TextView > 进行绘制。现在只需要一个< TextView >就可以搞定。

需求如图所示:
简单使用场景

drawable添加方式一:xml中直接使用

在这里插入图片描述在这里插入图片描述
问题点:查看drawable的属性时,没有设置图片大小的属性,当切图给的较小的时候,无法在TextView中调节大小。

drawable 添加方式二:使用代码的方式进行添加

解决方案:在代码中动态设置。如下图所示:
解决图片不能更改大小的问题

//可以无需设置setBounds()来设置drawable的大小了,直接设置原大小即可
Drawable delete_drawable = getResources().getDrawable(R.drawable.selector_detail_top)
mTvPlay.setCompoundDrawablesWithIntrinsicBounds(delete_drawable, null, null, null);

  1. android:ellipsize属性:省略部分文字。
    在这里插入图片描述
    marquee跑马灯的详细使用::①:同时需要设置 singleLine = 1;focusable = true;还可以设置marqueeRepeatLimit="marquee_forever"(一直轮播)
    问题点:首先,文字何时会显示不全?
    答:当文字在指定的宽度范围内,没有显示完全。这里有两种情况:
    ①:当不限制文字的宽度,即layout_width=wrap_content/match_content时,文字超过用户显示的屏幕便会自动进行省略。
    ②:限制文字的宽度,即layout_width="xxdp"的时候,当文字显示超过此宽度的时候,则会进行省略。

业务场景:recyclerView条目中,设置的TextView的长度大于12个字符后,才进行缩略显示,并且条目的后面紧跟其他图标。这样的一个列表中,条目图标才会因为条目长度的不同,如样图一所示。
问题点:不能固定限制item中TextView的宽度,才能保证显示长短不一的话,就不能限制TextView 的宽度,不限制TextView的话,也不能让其超过屏幕进行自动缩略,那如何进行设置呢?
解决方案:在代码中动态设置。如下图所示:
在这里插入图片描述
注意:动态获取LayoutParams的时候,需要获取的时该TextView所在的父布局的属性,如果LinearLayout.LayoutParams…,则new LinearLayout ,如果时RealtiveLayout,则new RelativeLayout.LayoutParams…

样图一:

在这里插入图片描述

下划线设置的几种方式:

  • textView.setText(Html.fromHtml(""+“0123456”+""));
  • SpannableString content = new SpannableString(str);
    content.setSpan(new UnderLineSpan, 0, str.length(), 0);
  • tvTest.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线
    tvTest.getPaint().setAntiAlias(true);//抗锯齿
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值