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

 

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


相关文章
|
Android开发 编解码 数据格式
|
1月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
1月前
|
缓存 前端开发 Android开发
安卓开发中的自定义视图:从零到英雄
【10月更文挑战第42天】 在安卓的世界里,自定义视图是一块画布,让开发者能够绘制出独一无二的界面体验。本文将带你走进自定义视图的大门,通过深入浅出的方式,让你从零基础到能够独立设计并实现复杂的自定义组件。我们将探索自定义视图的核心概念、实现步骤,以及如何优化你的视图以提高性能和兼容性。准备好了吗?让我们开始这段创造性的旅程吧!
27 1
|
21天前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
42 19
|
1月前
|
IDE Java 开发工具
移动应用与系统:探索Android开发之旅
在这篇文章中,我们将深入探讨Android开发的各个方面,从基础知识到高级技术。我们将通过代码示例和案例分析,帮助读者更好地理解和掌握Android开发。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和技巧。让我们一起开启Android开发的旅程吧!
|
21天前
|
JSON Java API
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
47 14
|
24天前
|
Java Linux 数据库
探索安卓开发:打造你的第一款应用
在数字时代的浪潮中,每个人都有机会成为创意的实现者。本文将带你走进安卓开发的奇妙世界,通过浅显易懂的语言和实际代码示例,引导你从零开始构建自己的第一款安卓应用。无论你是编程新手还是希望拓展技术的开发者,这篇文章都将为你打开一扇门,让你的创意和技术一起飞扬。