Android入门篇(三)布局文件 组件

上一篇主要将常用的容器视图大体的介绍了一下,这一篇就简单的记录一下常用的视图组件。

clipboard.png

clipboard.png

在Android Api中可以看到,常见的继承自view中的视图组件包括ImageView、TextView、SurfaceView、ProgressBar等几种常见的View组件;继承自TextView的还有Button,EditText,CheckedTextView等;继承自Button的还有CheckBox,RadioButton,ToggleButton;

TextView

TextView是开发中几乎最常用的组件,主要的作用就是显示内容,TextView可以显示的内容有很多,它可以解析一些简单的Html标签,在这里就只是讲一些简单的属性的应用了。
clipboard.png

效果就是这个样子了
clipboard.png

里面涉及的属性就是gravity,textSize,textColor,background等几个常用的属性,其中background可以是图片的引用,比如@mipmap/ic_launcher。这一个引用的意义就是找到当前工程的res文件夹下面的mipmap中的ic_launcher图片。

Button

由于Button是继承自TextView,所以里面包含的属性和TextView基本类似

clipboard.png

上面这个就是Buton的一个基础的应用了,同时layout_margin,padding等View中通用的属性也是可以直接套过来用的。
上面这个的效果就是这个样子了:

clipboard.png

CheckBox

CheckBox的应用也是非常容易的,这里直接看一个样例
clipboard.png

CheckBox顾名思义,就是一个复选框,一个带有选择框的Button,差不多就是这样子的。

clipboard.png

checkbox的选择框是可以自定义的,通过设置button的值就可以实现自定义,这个实现自定义可以通过写一个selctor来实现
selector定义的方法:
在drawable中新建一个文件,然后写入以下内容:

clipboard.png

这里面的图片资源替换为自己设计的button图片就可以了

至于如何在app中使用checkbox,下一篇开始就讲解activity了,很快就能接触到。

RadioGroup

上面看了复选框,这个就是单选了:

clipboard.png

这也是一个最基础的使用,效果就是这样了:

clipboard.png

单选框里面同样也可以自定义button和上面的类似,同样的可以在RadioGroup内设置orientation,控制内部的RadioButton是水平或者是垂直的。

Spinner

Spinner也类似与RadioGroup,可以实现单选的一个功能,下面看一个样例:
clipboard.png

上面的就涉及到了一个常用的属性entries,这个就是spinner里面的内容,设计到一个数组文件的使用。在values文件夹下新建一个array.xml,内部的内容如下:

clipboard.png

这个组件的效果如下:

clipboard.png

ImageView

在android 的开发中,图片展示也是一个常用的功能,自然在安卓的view组件中也提供了相应的view,这就是ImageView。ImageView也是继承自View的一个类,自然就拥有view的属性,同时也拥有自己的属性,这里就简单的看一下ImageView的使用。

clipboard.png

效果如下:

clipboard.png

这里就涉及到了一个src和scaleType,其实在ImageView有两种方式可以展示图片。一个就是View中的background,另一个就是src,background是会根据ImageView的大小自动进行拉伸,而src则是默认缩放。可以根据scaleType设置图片缩放的模式。
scaleType的类型如下:

  • fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变
  • fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角
  • fitCenter:同上,缩放后放于中间;
  • fitEnd:同上,缩放后放于右下角;
  • center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
  • centerCrop:保持横纵比缩放图片,知道完全覆盖ImageView,可能会出现图片的显示不完全
  • centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片
  • matrix:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图, 原图超过ImageView的部分作裁剪处理

ImageView还有一个比较常用的属性adjustViewBounds,这个是用来控制图片是否缩放,参数为true或false。
常用view组件就先记录这么多,后面再作补充。

您的支持将鼓励我继续创作