上一篇主要将常用的容器视图大体的介绍了一下,这一篇就简单的记录一下常用的视图组件。
个人博客
在Android Api中可以看到,常见的继承自view中的视图组件包括ImageView、TextView、SurfaceView、ProgressBar等几种常见的View组件;继承自TextView的还有Button,EditText,CheckedTextView等;继承自Button的还有CheckBox,RadioButton,ToggleButton;
TextView
TextView是开发中几乎最常用的组件,主要的作用就是显示内容,TextView可以显示的内容有很多,它可以解析一些简单的Html标签,在这里就只是讲一些简单的属性的应用了。
效果就是这个样子了
里面涉及的属性就是gravity,textSize,textColor,background等几个常用的属性,其中background可以是图片的引用,比如@mipmap/ic_launcher。这一个引用的意义就是找到当前工程的res文件夹下面的mipmap中的ic_launcher图片。
Button
由于Button是继承自TextView,所以里面包含的属性和TextView基本类似
上面这个就是Buton的一个基础的应用了,同时layout_margin,padding等View中通用的属性也是可以直接套过来用的。
上面这个的效果就是这个样子了:
CheckBox
CheckBox的应用也是非常容易的,这里直接看一个样例
CheckBox顾名思义,就是一个复选框,一个带有选择框的Button,差不多就是这样子的。
checkbox的选择框是可以自定义的,通过设置button的值就可以实现自定义,这个实现自定义可以通过写一个selctor来实现
selector定义的方法:
在drawable中新建一个文件,然后写入以下内容:
这里面的图片资源替换为自己设计的button图片就可以了
至于如何在app中使用checkbox,下一篇开始就讲解activity了,很快就能接触到。
RadioGroup
上面看了复选框,这个就是单选了:
这也是一个最基础的使用,效果就是这样了:
单选框里面同样也可以自定义button和上面的类似,同样的可以在RadioGroup内设置orientation,控制内部的RadioButton是水平或者是垂直的。
Spinner
Spinner也类似与RadioGroup,可以实现单选的一个功能,下面看一个样例:
上面的就涉及到了一个常用的属性entries,这个就是spinner里面的内容,设计到一个数组文件的使用。在values文件夹下新建一个array.xml,内部的内容如下:
这个组件的效果如下:
ImageView
在android 的开发中,图片展示也是一个常用的功能,自然在安卓的view组件中也提供了相应的view,这就是ImageView。ImageView也是继承自View的一个类,自然就拥有view的属性,同时也拥有自己的属性,这里就简单的看一下ImageView的使用。
效果如下:
这里就涉及到了一个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组件就先记录这么多,后面再作补充。下一篇开始介绍安卓的四大组件。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。