ImageButton派生自ImageView,而不是Button,这一点当第一眼看到ImageButton的时候,我就下意识的认识它是Button的子类。所以ImageButton拥有ImageView的属性和方法,不过ImageView有默认的按钮外观。
从android文档中,我们可以很清楚看到ImageButton和ImageView之间的关系。
Android 图像按钮ImageButton_第1张图片

让我们在看下ImageButton和ImageView外观的区别。
Android 图像按钮ImageButton_第2张图片
可见ImageButotn拥有和一个普通Button一样的外观,有默认的边框背景,而ImageView则什么都没有。
这里为了让大家能清楚看出两者的不同,所以这里的图片是设计图片,不是程序运行时的图片。运行时,ImageView那块是空白的,没有背景色是看不出来的。

接下来我们说下ImageButton的一些特别的地方。

1.不同于Button既能显示文字又能显示图片,ImageButton是图像按钮,只能显示图像而不能显示文本。
2.ImageButton上的图像可以按照比例进行拉伸,而Button上的大图会拉伸变形
3.ImageButton可以同时设置背景图片和前景图片,实现两者图片叠加的效果。

  "wrap_content"        android:layout_height="wrap_content"        android:background="@drawable/ib_background"        android:src="@drawable/search_press"/>

布局文件里只有一个ImageButton,设置一张背景图片,一张前景图片(search小图标),显示效果如下图:
Android 图像按钮ImageButton_第3张图片

这里我们对ImageButton的使用就不多做说明了,在使用过程中遇到我们在详细讲一下。
只写这么多就结束好像有点简单了,我们在加一点东西,实现ImageButton的touch效果,代码很简单,
实现触摸ImageButton显示search图片,当然这个只是演示,大家可以发散一下,比如点击的时候,背景改变,图像大小,透明度改变等等。。。

    private ImageButton ib_image;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_imagebutton);        ib_image = findViewById(R.id.ib_image);        ib_image.setOnTouchListener(new View.OnTouchListener() {            @Override            public boolean onTouch(View v, MotionEvent event) {                if(event.getAction() == MotionEvent.ACTION_DOWN)                {                    ib_image.setImageResource(R.drawable.search_press);                }                else                {                    ib_image.setImageDrawable(null);                }                return false;            }        });    }

布局文件和上边的差不多,只不过没有设置src属性。
Android 图像按钮ImageButton_第4张图片Android 图像按钮ImageButton_第5张图片

更多相关文章

  1. Android 控件之Gallery和ImageSwitcher图片切换器
  2. android中使用Thumbnails批量加载sdcard中的缩略图片
  3. Android 拼接两个图片
  4. android 视频、图片混合轮播控件zbanner
  5. Android计算图片占用内存
  6. Android 保存图片到图库
  7. android为按钮添加事件的三种方法
  8. Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存

随机推荐

  1. Android中巧妙的位运算
  2. Android(安卓)人脸识别+人脸匹配(OpenCV+
  3. Google I/O Android(安卓)相关演讲视频汇
  4. [Android] 使用Matrix矩阵类对图像进行缩
  5. Android多核与单核的性能持平的问题
  6. Android应用中通过AIDL机制实现进程间的
  7. android随机生成验证码
  8. 如何创建QuickAction在Android对话 类似
  9. Android界面布局基本知识简述
  10. Android基本组件学习(Activity生命周期)