每日一記—ImageView的scaleType屬性和獲取當前手機日期、時間的方法

日期: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日。

第二個小知識點完結。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章