/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package android.widget;import android.content.Context;import android.os.Handler;import android.os.Message;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.accessibility.AccessibilityEvent;import android.view.accessibility.AccessibilityNodeInfo;import android.widget.RemoteViews.RemoteView;import java.util.Map;/** * <p> * Displays a button with an image (instead of text) that can be pressed  * or clicked by the user. By default, an ImageButton looks like a regular  * {@link android.widget.Button}, with the standard button background * that changes color during different button states. The image on the surface * of the button is defined either by the {@code android:src} attribute in the * {@code <ImageButton>} XML element or by the * {@link #setImageResource(int)} method.</p> *  * <p>To remove the standard button background image, define your own  * background image or set the background color to be transparent.</p> * <p>To indicate the different button states (focused, selected, etc.), you can * define a different image for each state. E.g., a blue image by default, an * orange one for when focused, and a yellow one for when pressed. An easy way to * do this is with an XML drawable "selector." For example:</p> * <pre> * <?xml version="1.0" encoding="utf-8"?> * <selector xmlns:android="http://schemas.android.com/apk/res/android"> *     <item android:state_pressed="true" *           android:drawable="@drawable/button_pressed" /> <!-- pressed --> *     <item android:state_focused="true" *           android:drawable="@drawable/button_focused" /> <!-- focused --> *     <item android:drawable="@drawable/button_normal" /> <!-- default --> * </selector></pre> * * <p>Save the XML file in your project {@code res/drawable/} folder and then  * reference it as a drawable for the source of your ImageButton (in the  * {@code android:src} attribute). Android will automatically change the image  * based on the state of the button and the corresponding images * defined in the XML.</p> * * <p>The order of the {@code <item>} elements is important because they are * evaluated in order. This is why the "normal" button image comes last, because * it will only be applied after {@code android:state_pressed} and {@code * android:state_focused} have both evaluated false.</p> * * <p>See the <a href="{@docRoot}guide/topics/ui/controls/button.html">Buttons</a> * guide.</p> * * <p><strong>XML attributes</strong></p> * <p> * See {@link android.R.styleable#ImageView Button Attributes}, * {@link android.R.styleable#View View Attributes} * </p> */@RemoteViewpublic class ImageButton extends ImageView {    public ImageButton(Context context) {        this(context, null);    }    public ImageButton(Context context, AttributeSet attrs) {        this(context, attrs, com.android.internal.R.attr.imageButtonStyle);    }    public ImageButton(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        setFocusable(true);    }    @Override    protected boolean onSetAlpha(int alpha) {        return false;    }    @Override    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {        super.onInitializeAccessibilityEvent(event);        event.setClassName(ImageButton.class.getName());    }    @Override    public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {        super.onInitializeAccessibilityNodeInfo(info);        info.setClassName(ImageButton.class.getName());    }}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. 通过Windows批处理命令执行SQL Server数
  2. SQL SERVER 将XML变量转为JSON文本
  3. 详解SQL中Group By的用法
  4. SQL中 decode()函数简介
  5. sql 数据库出现“只读”提示 解决方法 (s
  6. sql存储过程几个简单例子
  7. 实例理解SQL中truncate和delete的区别
  8. SQL Server中NULL的正确使用与空间占用
  9. SQLSERVER分页查询关于使用Top方式和row_
  10. SQL中print、sp_helptext的限制与扩展