1. 程式人生 > >《Monkey Android》第12課ImageView

《Monkey Android》第12課ImageView

通過本節課可以學習到的內容:

  • ImageView的用法
  • ImageView的XML屬性

例項程式碼:

ImageView的用法

ImageView顧名思義,就是圖片檢視,用來顯示靜態圖片。


  <ImageView
    android:id="@+id/imageview_normal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/black"
android:onClick="ivClicked" android:src="@mipmap/super_dog" />
<ImageView android:id="@+id/imageview_super" android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:background="@android:color/black" android:maxHeight
="300dp" android:maxWidth="300dp" android:onClick="ivClicked" android:src="@mipmap/super_dog" />

效果圖如下:
ImageView用法

ImageView的XML屬性

  • android:src,設定ImageView要顯示的圖片;
  • android:adjustViewBounds,是否保持寬高比,需要和maxWidth、maxHeight一起使用,否則單獨使用沒有效果;
  • android:maxWidth,設定View的最大寬度;
  • android:maxHeight,設定View的最大高度;

如果想設定圖片固定大小,又想保持圖片寬高比,需要這樣設定:

  1. android:adjustViewBounds設定為true
  2. android:maxWidthandroid:maxHeight要設定;
  3. android:layout_widthandroid:layout_height設定為wrap_content
  • android:scaleType是設定圖片的填充方式,有以下用法:

    1. android:scaleType=”center”,按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則擷取圖片的居中部分顯示
    2. android:scaleType=”centerCrop”,按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)
    3. android:scaleType=”centerInside”,將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長(寬)等於或小於View的長(寬)
    4. android:scaleType=”fitCenter”,把圖片按比例擴大(縮小)到View的寬度,居中顯示
    5. android:scaleType=”fitEnd”,把圖片按比例擴大(縮小)到View的寬度,顯示在View的下部分位置
    6. android:scaleType=”fitStart”,把圖片按比例擴大(縮小)到View的寬度,顯示在View的上部分位置
    7. android:scaleType=”fitXY”,把圖片按照指定的大小在View中顯示
    8. android:scaleType=”matrix”,用matrix來繪製

下課

這一節課,我們主要學習了ImageView,不過它的功能有限,只能顯示靜態圖片。在實際需求中,我們可能會用到更高階的用法,如顯示圓形頭像,或者動態的gif,又或者圖片的縮放與縮圖等等,這些就需要我們自己取實現ImageView了,後面都會講到。

關注我,我們一起進步

相關推薦

Monkey Android12ImageView

通過本節課可以學習到的內容: ImageView的用法 ImageView的XML屬性 例項程式碼: ImageView的用法 ImageView顧名思義,就是圖片檢視,用來顯示靜態圖片。 <

12:HTML+CSS的基礎用法

日常使用 mil rtc 一行 ade user 新頁面 form -s 1. html之head部分的常用標簽的使用 <!--指定html是標準的html還是其它的html--> <!DOCTYPE html> <html lang="en

Android adb常用指令

ice cross web 文件 data shel 別人 pin parent 1啟動adb服務adb start-server2停止adb服務adb kill-server3顯示所有的設備adb devicesC:\Users\Administrator>adb

Android 編譯錯誤分析

設備 錯誤頁面 純虛函數 error: nim 虛函數 指令 信息 target 1)Error 1C/C++ Problem問題 DescriptionDescription Resource Path Location Type make.exe: *** [obj/l

Android 安裝異常處理

manager ems sources man ade known and lib 裏程碑 1 已安裝了存在簽名沖突的同名數據包 通過軟件管理,將即將安裝的XXX.apk的同名軟件卸載,然後進入到安裝包中,點擊XXX.apk2 拷貝文件夾失敗 打開設置,選擇存儲

12 - 實模式到保護模式(下)

文本 選擇 字符串結束 使用 hello 移除 mode back fdt 不一般的jmp(s16->s32) 在16位代碼中,所有的立即數默認為16位 從16位代碼段跳轉到32位代碼段時,必須做強制轉換    深入保護模式:定義顯存段

機器學習筆記 12

開始非監督學習的篇章 (1)K-means 演算法,一個很經典且簡約的非監督學習演算法。演算法過程不再敘述。 K-means演算法的兩個過程:(1)將點分配到相應的類;(2)以均值作為新的類的類中心。實際上反覆的迭代這兩個過程,就是一個座標上升的過程。 初始聚類中心的個數對演算法的效果有

嵌入式-第一季-12

第十二課 linux線上升級yum 一.RPM特點 利用rpm命令我們可以在了Linux系統中安裝我們需要的一些軟體。 優點: 安裝過程很簡單 缺點:1.   需要自己四處去找和系統版本對應的RPM包。 安裝過程中需要解決包的依賴問題(通過tftp包演示)。

C語言12——輸入&輸出

輸入 意味著要向程式填充一些資料。 輸入可以是以檔案的形式或從命令列中進行。 C 語言提供了一系列內建的函式來讀取給定的輸入,並根據需要填充到程式中。   輸出 意味著要在螢幕上、印表機上或任意檔案中顯示一些資料。 C 語言提供了一系列內建的函式來輸出資料到

12 習題講解

  Python 程式設計作業 02 請實現一個程式,實現如下需求點 1.程式開始的時候提示使用者輸入學生年齡資訊 格式如下: Jack Green , 21 ; Mike Mos, 9; 我們假設 使用者輸入 上面的資訊,必定會遵守下面的規則: 學生資訊之間用分號隔開(分號前

《快學 Go 語言》 12 —— 通道

不同的並行協程之間交流的方式有兩種,一種是通過共享變數,另一種是通過佇列。Go 語言鼓勵使用佇列的形式來交流,它單獨為協程之間的佇列資料交流定製了特殊的語法 —— 通道。 通道是協程的輸入和輸出。作為協程的輸出,通道是一個容器,它可以容納資料。作為協程的輸入,通道是一個生產者,它可以向協程提供資料。通道作為

12:spark高可用(HA)框架

worker管理資源:記憶體,cpu 只有standby模式的master變成active模式時才能想叢集提交任務,master切換過程不會影響程式的執行 原因:程式在具體執行之前已經向叢集申請過資源,這些資源已經提交給driver了,也就是說已經分配好資源了,這是粗粒度分配,一次性分配

html day10 12

margin子元素與父元素邊框的距離:問題: 1.div若寬度自適應(不是100%,也不是具體值,根據內容自適:設定margin會變成,看裡面內容展的空間變了; 2.若div設定了寬度100%設定margin會變成 3.若div設定了寬度(具體值)設定margin會變成

12:jvm的gc日誌full Gc每個欄位徹底詳解

內容:     1.演示Full GC     2.徹底解析FullGC的每一個欄位 一、演示Full GC [Full GC (Ergonomics) [PSYoungGen: 944K->890K(2048K)] [ParOldGen: 7129K->7

webgl12-圖形的變換之平移

需要原始碼可以Q群:828202939 或者點選這裡  希望可以和大家一起學習、一起進步!!純手打!! 書籍是PDF電子檔,也在Q群裡,所有的課程原始碼在我上傳的資源裡面,本來想設定開源,好像不行! 如有錯別字或有理解不到位的地方,可以留言或者加微信15250969798,在下

韋東山嵌入式Linux學習筆記之——128節 字元裝置驅動程式之定時器防抖動

注:本文部分內容摘自《魚樹學員筆記》。 當按鍵按得比較快的時候,這裡出現了兩次中斷值,也即產生了抖動。 這裡產生了“抖動”,按鍵是機械開關,按下鬆開時裡面的金屬彈片可能抖動了好幾次。這種抖動產生了多次“脈衝”導致多次中斷。 方法: 使用定時器來防抖動。

MIT演算法導論公開課之12 跳躍表

動態搜尋結構 跳躍表(skip list) 樹堆(treap) 紅黑樹(red black tree) B樹(B tree) 跳躍表 一種簡單、高效的動態搜尋結構,使用了隨機化演算法。 插入刪除操作的期望的執行時間為O(lgn),並且這種情

Alex 的 Hadoop 菜鳥教程: 12 Sqoop1 安裝/匯入/匯出教程

原帖地址: http://blog.csdn.net/nsrainbow/article/details/41575807 Sqoop是什麼 sqoop是用於在傳統關係型資料庫跟hdfs之間進行資料匯入匯出的工具。目前sqoop已經出了2,但是截至當前,s

VBA 12 插入排序

'插入排序,從小到大 Sub 插入排序() Dim arr, i, temp, y arr = Range("a1:a18") For i = 2 To UBound(arr) temp = Cells(i, 1) Range("a" &

12 Python中if分支語句表示式結構

1.表示式 表示式,是由數字、算符、數字分組符號括號、自由變數和約束變數等以能求得數值的有意義排列方法所得的組合,故表示通常是由運算元和操作符兩部分組成,如果操作符前後均有運算元,我們稱此類操作符是雙