博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 中文 API (25) —— ZoomControls
阅读量:6982 次
发布时间:2019-06-27

本文共 2686 字,大约阅读时间需要 8 分钟。

正文

  一、结构

    public class ZoomControls extends LinearLayout

 

 

           java.lang.Object

                  

                        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  文章链接

      [荐]

      

      [荐]

 

    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  代码下载

        

 

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

你可能感兴趣的文章
Vue学习笔记(1)——在页面右上角实现可悬浮/隐藏的系统菜单
查看>>
UITableView占位图的低耦合性设计
查看>>
一个女装小程序的瀑布流实现
查看>>
Docker实现Mariadb分库分表、读写分离
查看>>
Node.js核心内容
查看>>
github克隆本地项目
查看>>
j抽奖
查看>>
GMQ力争为全球区块链数字资产技术应用贡献一份力量
查看>>
VUE+Vant 实现图片上传
查看>>
ajax实现点击加载更多
查看>>
为什么JavaScript没有类而使用原型?——JavaScript语言特性来历
查看>>
TarsGo新版本发布,支持protobuf,zipkin和自定义插件
查看>>
Flutter 如何创建并发布 Plugin (VS Code + GitHub 发布)
查看>>
TableStore实战:GEO索引打造亿量级店铺搜索系统
查看>>
js的防抖和节流
查看>>
redis学与思系列(2)
查看>>
学习springBoot(11)shiro安全框架
查看>>
c++那些事儿11 0 STL List
查看>>
问题记录——跨域
查看>>
PHP7.3即将到来,快来了解一下新特性吧
查看>>