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
相关文章
相关标签/搜索