本节内容
1.textView属性讲解
2.ImageView——ScaleType
3.ClipDrawable卷帘效果
一、textView属性讲解
1.textView和View的属性差不多,View有的textView基本上也有(实际开发中用的比较少)
-
textColor:文字颜色
-
textSize:文字大小
-
textAlignment:文字的对齐方式
-
textScaleX:设置文字横向拉伸的比例
-
shadowColor:阴影的颜色
-
shadowRadius:阴影半径
-
shadowDx:阴影横向偏移量,shadowDy:阴影的纵向偏移量
2.想添加一个边框,那么就在drawable里面新建一个resource file,命名为border,并在里面给它设置一些属性
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:color="@color/colorPrimary"
android:width="2dp"/>
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>
3.在xml中background属性设置为drawable里面的border.xml即可。
4.在textView中还可以添加图片,并让其置于文字上方,那么文字和图片就可以合为一体。所以有时候一些简单的图片+文字可以用textView来实现。
android:drawableTop="@drawable/timg"
5.autoLink可以自动识别网页链接
android:autoLink="web"
6.ellipsize,文字内容一行显示不完那就滚动显示,marqueeRepeatLimit滚动的限制
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
但仅仅设置这些并不能让它启动,我们还需要在TextViewActivity里面启动滚动
mTextView1.isSelected = true
mTextView1.text.toString()
二、ImageView——ScaleType
1.ImageView是用来显示具体的图片的,如果在code里面设置background为一张图片,那么这张图片就会自动拉伸,拉满。
2.src就是显示具体的图片,如果用的是src,那么图片就不会自动拉伸。
3.ScaleType 内容拉伸的类型
-
fit :按比例缩放 当宽度或高度到达控件边缘时 停止缩放
-
fitStart : 按比例缩放 如果没有填满控件 则显示在顶部(或左边)
-
fitEnd : 按比例缩放 如果没有填满控件 则显示在底部(或右边)
-
fitCenter : 显示在中心
-
fitXY : 自由缩放 直到宽度和高度都填满 失真
-
centerInside : 等比例缩放 直到整个图片都显示到控件中
-
centerCrop : 等比例缩放 直到填满整个控件
-
center : 不缩放 中心对齐
三、ClipDrawable卷帘效果
1.在drawable中添加一个clip.xml,然后把<selector>改为<clip>。再添加三个属性。
<clip xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/timg"
android:clipOrientation="vertical"
android:gravity="clip_vertical"/>
-
drawable:图片资源
-
clipOrientation:纵向展开还是横向展开,这里选的是纵向
-
gravity:从什么位置开始展开,这里选的是垂直的,也就是从中间往上下扩散。
2.然后在之前的xml中配置一下src为clip.xml。接着在MainActivity的onResume方法中实现相关操作。
override fun onResume() {
super.onResume()
val clipDrawable :ClipDrawable = imageView.drawable as ClipDrawable
val timer = Timer()
timer.schedule(object :TimerTask(){
override fun run() {
clipDrawable.level +=200
if (clipDrawable.level==10000){
timer.cancel()
}
}
},0,100)
}
网友评论