天天看點

Android 中文 API (25) —— ZoomControls

一、結構

    public class ZoomControls extends LinearLayout

           java.lang.Object

                        android.view.ViewGroup

                                     android.widget.LinearLayout

                                              android.widget.ZoomControls

二、概述

    

Android 中文 API (25) —— 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() { 

                                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  代碼下載下傳

繼續閱讀