Android开发(8)——TextView和ImageView

2021-03-18  本文已影响0人  让时间走12138

本节内容

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)
    }
  • timer是一个计时器
上一篇下一篇

猜你喜欢

热点阅读