Android02--Android之UI控件ImageView+ImageButton

来源:互联网 发布:淘宝网小米官方旗舰店 编辑:程序博客网 时间:2024/04/29 19:52

开始学习控件啦………………….哈哈哈哈哈
先来学习ImageView

ImageView

1.imageView中src和bg的的区别

 android:src="@mipmap/ic_launcher" android:background="@mipmap/ic_launcher"
  1. background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。
  2. 此外:scaleType只对src起作用;bg可设置透明度.

2.ImageView的scaleType属性与adjustViewBounds属性

android:scaleType="center"android:adjustViewBounds="true"
  1. 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" />
0 0