每日一记—ImageView的scaleType属性和获取当前手机日期、时间的方法

版权声明:文档原创,转发请注明出处。 https://blog.csdn.net/weixin_39657438/article/details/82497419

日期:2018.9.7


今天在使用ImageView的时候遇到了一个小问题,我把ImageView作为Activity的背景(直接给Activity背景赋值只能在xml文件中静态的赋值,而我需要的是在java文件中动态的给出不同的背景,所以用ImageView代替了。。。/尴尬)。但是这样使用出现一个问题,我发现图片背景有白边,不能占满整个屏幕,于是查了一下资料,发现ImageView有个scaleType属性(发现网上有很多跟我一样的小白提出同样的疑惑,所以我今天把这个问题写在了每日一记里)。

ImageView的属性android:scaleType(静态设置),即 ImageView.setScaleType(ImageView.ScaleType)(动态设置)。android:scaleType是控制图片与ImageView的size相匹配的参数。ImageView.ScaleType / android:scaleType值的意义区别:

  • CENTER /center  按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截 取图片的居中部分显示
  • CENTER_CROP / centerCrop  按比例扩大图片的size居中显示,使得图片长 (宽)等于或大于View的长(宽)
  • CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小 或原来的size使得图片长/宽等于或小于View的长/宽
  • FIT_CENTER / fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示
  • FIT_END / fitEnd   把 图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
  • FIT_START / fitStart  把 图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
  • FIT_XY / fitXY  把图片 不按比例 扩大/缩小到View的大小显示
  • MATRIX / matrix 用矩阵来绘制

可见适合我使用的属性是centerCrop按比例扩大图片的size居中显示,使得图片长 (宽)等于或大于View的长(宽)(图片会发生正常的裁剪)。

 <ImageView
        android:id="@+id/iv_background1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:src="@drawable/launch_bg1"/>

第一个小知识点完结。


以前在VS平台下做C#编程的时候,获取系统时间很简单(datatime.now),现在AS平台下做编程,类比了一下,也很简单,代码如下:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
        // 如果想加入时分秒,pattern设为"yyyy年MM月dd日 HH:mm:ss"
        Date date = new Date(System.currentTimeMillis());
        Toast.makeText(SplashActivity.this,simpleDateFormat.format(date),
                Toast.LENGTH_SHORT).show();

上面代码输出的事当前日期:2018年9月7日。

第二个小知识点完结。

猜你喜欢

转载自blog.csdn.net/weixin_39657438/article/details/82497419
今日推荐