setCompoundDrawablesWithIntrinsicBounds等语句的含义

来源:3-1 引用不同的行布局

慕沐020336

2019-04-19 22:13:13

老师要粘贴代码和提前写好代码都行,大不了我们在多花点时间敲一下,但是能不能麻烦老师把粘贴和直接打开代码中出现的新方法解释一下其功能,

(1)setCompoundDrawablesWithIntrinsicBounds(,,,)网上说这个方法的默认参数是四个null,老师用的是4个0,在这里是不是没有区别,但是老师能不能解释一下这个方法是干什么的,网上的解释又长有没有重点,不知道他想表达什么

(2)在老师提前准备的chatting_items_msg_text_left中id为tv_time(注意id不是tv_send_time,是tv_time)的那个textView的作用什么,全程没有复制,最后在适配器中有写了一个viewHolder.mTime.setText("");到底写他的初衷是什么?(这种编程思路的问题,总不会要学生上网查吧)

(3)另外,(2)中布局文件的控件中也写了一些莫名其妙的属性,写上去好像没有什么可见的作用,能不能麻烦老师解释一下:

android:lineSpacingExtra="2dp"

以及为什么要给id为iv_user_head的imageView设置clickable为true(left.xml),

以及id为tv_time的textView设置clickable和focusable为true(right.xml)


写回答

2回答

irista23

2019-04-21

1)setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)就是用来给TextView设置其显示的图片位置的,可以在上、下、左、右设置图标,对应xml布局中的drawableTop……等属性,如果不想在某个地方显示,则设置为0,否则可以传入类似R.drawable.XX,其还有一个重载方法参数都是drawable,效果是一样的,只不过可以传入drawable类型参数,不设置就传入null

2)tv_time可以显示在内容右侧的一个时间点,你可以去当前时间

3)android:lineSpacingExtra这个属性是用来设置文字的行间距的

4)clickable和focusable如果java代码中需要添加点击以及touch事件时都要设置为true,如果不想响应这些事件可以设置为false

0

慕沐020336

提问者

2019-04-19

不好意思,当时时间急,打了错别字,(2)中是没有个textview的text“赋值”,不是“复制”

0

0 学习 · 1800 问题

查看课程