Android2.2 API 中文文档系列(9) —— ZoomButton

简介:

正文

  一、类结构

 

    java.lang.Object

      android.view.View

        android.widget.ImageView

                    android.widget.ImageButton

             android.widget.ZoomButton

 

    public class ZoomButton extends ImageButton implements View.OnLongClickListener

 

  二、概述

    

    缩放按钮,实际上是很普通的两个按钮,可以简单的理解为一个ImageButton加上一张缩放的图标。如下代码:

  

 

  三、公共方法
 

    public boolean dispatchUnhandledMove (View focused, int direction)

    对于获得焦点的View,这个方法是捕获箭头事件最后的机会。这就是在获取焦点的View没有在内部处理、系统在要求的方向也不能找到一个新的View让其获得焦点时调用。

                   参数

                            focused  当前焦点View

                            direction焦点移动的方向。其中之一:FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT FOCUS_RIGHT.

                   返回值

                            如果为true,将清除这个View未处理的事件。

         (注:从源码中可看出ZoomButton覆盖了父类的该方法,在super之前调用了一下clearFocus,如下代码:

  

 

 

         public boolean onKeyUp (int keyCode, KeyEvent event)

         默认实现至KeyEvent.Callback.onKeyMultiple() :当点击执行时KEYCODE_DPAD_CENTER  KEYCODE_ENTER被释放。

                   参数

                            keyCode 按下按钮代表的键值,属于KeyEvent (注:KeyEvent的静态属性)

                            event       KeyEvent对象,定义按钮动作

                   返回值

                            如果您处理这一事件中,返回true如果你想允许事件被下一个接收器处理,返回false

                           

         public boolean onLongClick (View v)

         当一个View被长按时调用。

                   参数

                            v      被长按的View

                   返回值

                            如果返回true,这个回调在长按时被执行了,反之返回false.

 

         public boolean onTouchEvent (MotionEvent event)

         实现这个方法处理触摸屏移动事件。

                   参数

                            event       该移动事件.

                   返回值

                            如果是true,该事件是触摸,反之返回false

 

         public void setEnabled (boolean enabled)

         设置这个View启用状态。

                   参数

                            enabled 设置true表示启用,反之表示禁用。

 

         public void setZoomSpeed (long speed)

         (注:单独使用无实际意义,可以用来存放临时数据)



本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582701,如需转载请自行联系原作者

相关文章
|
7月前
|
Android开发
Android 11 修改libcore update-api 遇到的问题
Android 11 修改libcore update-api 遇到的问题
193 1
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
396 1
|
4月前
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
133 0
|
6月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
75 2
|
6月前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
7月前
|
SQL API Android开发
Android API:Activity.managedQuery()
Android API:Activity.managedQuery()
53 2
|
7月前
|
API Android开发
Android Framework增加API 报错 Missing nullability on parameter
Android Framework增加API 报错 Missing nullability on parameter
347 1
|
7月前
|
API 定位技术 开发工具
Android Studio2021.1.1 高德地图api调用这一篇就够了
Android Studio2021.1.1 高德地图api调用这一篇就够了
|
7月前
|
API Android开发
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
109 3
|
API Android开发
mPaaS(移动跨平台框架)目前已经支持了Android API级别21
mPaaS(移动跨平台框架)目前已经支持了Android API级别21
150 2