开始学习控件啦………………….哈哈哈哈哈
先来学习ImageView
ImageView
1.imageView中src和bg的的区别
android:src="@mipmap/ic_launcher"
android:background="@mipmap/ic_launcher"
- background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。
- 此外:scaleType只对src起作用;bg可设置透明度.
2.ImageView的scaleType属性与adjustViewBounds属性
android:scaleType="center"
android:adjustViewBounds="true"
scaleType:
ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY,接下来讲一一介绍
matrix:不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。
center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
centerCrop:以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(指的是ImageView的宽和高都要填满),原图超过ImageView的部分作裁剪处理。
centerInside:centerInside在原图的原本size大于ImageView的size时,则缩小原图,效果同fitCenter;在原图的原本size小于ImageView的size时,则不进行任何size处理,居中显示,效果同center。
fitCenter:将原图扩大或缩小为ImageView的size并居中显示.(不做裁剪),保证完整的前提下最大
fitStart fitEnd
- fitXY:把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView.
这个效果:(非常不错啊)
(图片来源:http://www.2cto.com/kf/201411/348601.html)
原图为Pocoyo的头像,上图为原图的size大于ImageView的size,下图为原图的size小于ImageView的size
2.adjustViewBounds属性
// 具体情况具体分析
android:adjustViewBounds属性为是否保持原图的长宽比
// 如果在宽度或者高度一个是定值,一个是wrap_content;会等比例缩放到最合适的一个范围
3.android:clickable=”true”
设置是否可以点击
4.绘制
android:src="@mipmap/ic_launcher"
android:tint="#f00"
// 指 定它前面的两种样式如果混合,有多种方式
android:tintMode="add"
android:background="@mipmap/ic_launcher"
android:backgroundTint="#f00"
2.ImageButton
ImageButton是ImageView的子类,并没有什么大特殊的地方.
<ImageView
// 一个ImageView就成了一个ImageButton的样式
style="?attr/imageButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="true" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content" />