ImagView and TextView and 虚线

方式一:<.......android:color="#FFFFFF"/> 

方式二:tv.setTextColor(0xFFFFFF);

方式三:tv.setTextColor(Color.GRAY); 

方式四:tv.setTextColor(Color.rgb(255, 255, 255)); 

方式五:tv.setTextColor(Color.parseColor("#FF0000")); 

方式六:tv.setTextColor(getResources().getColor(R.color.colorPrimary));


IMG.setBackgroundResource(R.mipmap.monitorwarn_waterlevel); 非setBackground

有几个关键点:

1、dashwidth是指- - -中每一个-的宽度,dashGap是指- - -中每一个间隔的宽度,如果dashwidth和dashGap中有一个为0,那么这条线就是一条实线。width是指这条线的宽度,在横的虚线上体现出来就是这条线的竖直方向的高度。

2、把这个drawable作为一个view的背景时,需要设置view的layerType为software,不然在真机上显示出来是一条实线。

3、作为背景的view的layout_height要超过drawble的stroke的width,不然显示不出来。

竖直虚线:

竖直虚线经过很多坑,最终才画出来。

首先,在shape里面不直接支持竖直虚线,所以要用rotate去旋转水平虚线。

设置了fromDegress之后,会先画一条水平虚线,然后再瞬间顺时针旋转90度角

但是单这样还不行,因为我的view的宽度设置的是2dp,高度是match_parent,发现出来的只有一个点,郁闷了。

之前说过,他的原理是先画一条水平线,然后再旋转,那么view的宽度只有2dp,他就只能画2dp,所以旋转后也就是一个点。

这个时候可以采取一点取巧的办法,就是下面的方法:

用item的可以设置偏移量的属性,我们将rotate节点放于一个item节点下面,然后给item设置左右都为-300dp的偏移量,这样他在先画水平线的时候,由于负的偏移量(就和负的margin一样),就可以画出600dp长的线,然后再旋转,就可以得到一条竖直虚线。

详情可见 https://segmentfault.com/a/1190000019593724?utm_source=tag-newest

你可能感兴趣的:(ImagView and TextView and 虚线)