Android 中文 API (25) —— ZoomControls

简介:

一、结构

    public class ZoomControls extends LinearLayout

           java.lang.Object

                  android.view.View

                        android.view.ViewGroup

                                     android.widget.LinearLayout

                                              android.widget.ZoomControls

二、概述

    

    ZoomControls显示一个简单的设置来控制缩放并回调已注册的事件。

三、 公共方法

         public boolean hasFocus ()

         如果这个视图获得了焦点就返回真。

           返回值

                 如果这个视图获得了焦点就返回真。

         public void hide ()

         这个方法可以将zoomControl视图隐藏起来,不显示。

         public boolean onTouchEvent (MotionEvent event)

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

                参数

                       event该移动事件.

                返回值

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

         public void setIsZoomInEnabled (boolean isEnabled)

         这个方法可以设置放大按钮是否可用。

      参数

                        isEnabled 如果是true,放大按钮可用,反之不可用(按钮变成灰色)。

         public void setIsZoomOutEnabled (boolean isEnabled)

         这个方法可以设置缩小按钮是否可用。

         参数

                    isEnabled  如果是true缩小按钮可用,反之不可用(按钮变成灰色)。

         public void setOnZoomInClickListener (View.OnClickListener listener)

         注册放大监听器

                  参数

Listener 点击放大按钮事件触发的事件。(译者注:为OnClickListener的实例,可以复写onClick方法,里面为具体的响应动作。我感觉这个方法还有下面的方法是本类的重点,我们可以在里面实现相应的动作,来响应我们的事件。)

         public void setOnZoomOutClickListener (View.OnClickListener listener)

         注册缩小监听器

           参数

  Listener点击缩小按钮事件触发的事件。(译者注:为OnClickListener的实例,可以复写onClick方法,里面为具体的响应动作。)

         public void setZoomSpeed (long speed)

 设置缩放速度。

           参数

                Speed 缩放速度

         public void show ()  

             这个方法和 hide 方法对应,用来显示 ZoomControl  

四、 补充

    4.1  文章链接

      [荐]Android控件之ZoomControls缩放控件

      地图时让ZoomContrls一直显示

      [荐]ZoomControls在Google Map中的使用

    4.2  示例代码(译者声明:这个代码部分思路来源于网络上一个博客,谨以此来解释,特此声明。

      4.2.1  java文件

public   class  ZoomCotroltest  extends  Activity { 

        @Override 
        
protected   void  onCreate(Bundle savedInstanceState) { 
                 super .onCreate(savedInstanceState); 
                
this .setContentView(R.layout.main); 

                setTitle(
" ZoomControls " ); 

                ZoomControls zoomControls 
=  (ZoomControls)  this .findViewById(R.id.zoomControls);
                zoomControls.hide();
                zoomControls.show();
                
//  setOnZoomInClickListener() - 响应单击放大按钮的事件 
                zoomControls.setIsZoomInEnabled( true );
                zoomControls.setIsZoomOutEnabled(
true );
                zoomControls.setOnZoomInClickListener(
new  OnClickListener() { 
                        
public   void  onClick(View v) { 
                                Toast.makeText(ZoomCotroltest.
this " 单击了放大按钮 " , Toast.LENGTH_SHORT).show(); 
                        } 
                }); 
                 
                
//  setOnZoomOutClickListener() - 响应单击缩小按钮的事件 
                zoomControls.setOnZoomOutClickListener( new  OnClickListener() { 
                        
public   void  onClick(View v) { 
                                Toast.makeText(ZoomCotroltest.
this " 单击了缩小按钮 " , Toast.LENGTH_SHORT).show();         
                        } 
                }); 

        } 
}

      4.2.2  xml文件

<? xml version="1.0" encoding="utf-8" ?>  
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"  
        android:orientation
="vertical"  android:layout_width ="fill_parent"  
        android:layout_height
="fill_parent" >  
        
<!--  
                放大/缩小按钮控件 
        
-->  
        
< ZoomControls  android:id ="@+id/zoomControls"  
                android:layout_width
="wrap_content"  
                android:layout_height
="wrap_content" >
        
</ ZoomControls >  
</ LinearLayout >

      4.2.3  代码下载

        /Files/over140/2010/10/demo_ZoomControls.rar

本文转自博客园农民伯伯的博客,原文链接:Android 中文 API (25) —— ZoomControls,如需转载请自行联系原博主。

 

目录
相关文章
|
7月前
|
Android开发
Android 11 修改libcore update-api 遇到的问题
Android 11 修改libcore update-api 遇到的问题
193 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