2018-2019-2 20189205《移動平臺應用開發實踐》第八週做業

Android 學習

ListView

ListView是Android中最重要的組件之一,幾乎每一個Android應用中都會使用ListView。它以垂直列表的方式列出所需的列表項。android

列表顯示須要的元素:web

  • 1.ListVeiw:用來展現列表的View;
  • 2.適配器: 用來把數據映射到ListView上的中介;
  • 3.數據源: 具體的將被映射的字符串,圖片,或者基本組件。

適配器:
適配器是一個鏈接數據和AdapterView的橋樑,經過它能有效地實現數據與AdapterView的分離設置,使AdapterView與數據的綁定更加簡便,修改更加方便。將數據源的數據適配到ListView中的經常使用適配器有:ArrayAdapter、SimpleAdapter 和 SimpleCursorAdapter。算法

  • ArrayAdapter最爲簡單,只能展現一行字;
  • SimpleAdapter有最好的擴充性,能夠自定義各類各樣的佈局,除了文本外,還能夠放ImageView(圖片)、Button(按鈕)、CheckBox(複選框)等等;
  • SimpleCursorAdapter能夠認爲是SimpleAdapter對數據庫的簡單結合,能夠方便地把數據庫的內容以列表的形式展現出來。可是實際工做中,經常使用自定義適配器。即繼承於BaseAdapter的自定義適配器類。

GridView

GridView是一個在二維可滾動的網格中展現內容的控件。網格中的內容經過使用adapter自動插入到佈局中。數據庫

經常使用屬性:佈局

  • android:columnWidth:設置列的寬度
  • android:gravity:組件對其方式
  • android:horizontalSpacing:水平方向每一個單元格的間距
  • android:verticalSpacing:垂直方向每一個單元格的間距
  • android:numColumns:設置列數
  • android:stretchMode:設置拉伸模式,可選值以下:
    • none:不拉伸;
    • spacingWidth:拉伸元素間的間隔空隙
    • columnWidth:僅僅拉伸表格元素自身
    • spacingWidthUniform:既拉元素間距又拉伸他們之間的間隔空隙。

位圖處理

Bitmap位圖包括像素以及長、寬、顏色等描述信息。長寬和像素位數是用來描述圖片的,能夠經過這些信息計算出圖片的像素佔用內存的大小。學習

位圖能夠理解爲一個畫架,把圖放到上面而後能夠對圖片作一些列的處理。spa

位圖文件圖像顯示效果好,可是非壓縮格式,須要佔用較大的存儲空間。orm

1 Config:表示圖片像素類型,包括ALPHA_八、RGB_56五、ARGB_444四、ARGB_8888 A:透明度;RGB分別是Red、Green、Blue,三種原色繼承

  • ARGB_8888:四個通道都是8位,每一個像素佔用4個字節,圖片質量是最高的,可是佔用的內存也是最大的;
  • ARGB_4444:四個通道都是4位,每一個像素佔用2個字節,圖片的失真比較嚴重;
  • RGB_565:沒有A通道,每一個像素佔用2個字節,圖片失真小,可是沒有透明度;
  • ALPHA_8:只有A通道,每一個像素佔用1個字節大大小,只有透明度,沒有顏色值。
    使用場景總結:ARGB_4444失真嚴重,基本不用;ALPHA_8使用場景特殊,好比設置遮蓋效果等;不須要設置透明度,RGB_565是個不錯的選擇;既要設置透明度,對圖片質量要求又高,就用ARGB_8888。

2 CompressFormat:圖片

  • Bitmap.CompressFormat.JPEG:一種有損壓縮(JPEG2000既能夠有損也能夠無損),".jpg"或者".jpeg"; 優勢:採用了直接色,有豐富的色彩,適合存儲照片和生動圖像效果;缺點:有損,不適合用來存儲logo、線框類圖。
  • Bitmap.CompressFormat.PNG: 一種無損壓縮,".png"; 優勢:支持透明、無損,主要用於小圖標,透明背景等;缺點:若色彩複雜,則圖片生成後文件很大;
  • Bitmap.CompressFormat.WEBPP:以WebP算法進行壓縮;Google開發的新的圖片格式,同時支持無損和有損壓縮,使用直接色。無損壓縮,相同質量的webp比PNG小大約26%;有損壓縮,相同質量的webp比JPEG小25%-34% 支持動圖,基本取代gif
相關文章
相關標籤/搜索