- 在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);
- android:ellipsize属性:省略部分文字。
marquee跑马灯的详细使用:
问题点:首先,文字何时会显示不全?
答:当文字在指定的宽度范围内,没有显示完全。这里有两种情况:
①:当不限制文字的宽度,即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);//抗锯齿