在Android App應用中,OnLongClick事件表示長按2秒以上觸發的事件,本章我們通過長按圖像設置為牆紙來理解其具體用法。
知識點:OnLongClickListener
OnLongClickListener接口與之前介紹的OnClickListener接口原理基本相同,只是該接口為View長按事件的捕捉接口,即當長時間按下某個View時觸發的事件,該接口對應的回調方法簽名如下。
public boolean onLongClick(View v)
參數v:參數v為事件源控件,當長時間按下此控件時才會觸發該方法。
返回值:該方法的返回值為一個boolean類型的變量,當返回true時,表示已經完整地處理了這個事件,並不希望其他的回調方法再次進行處理;當返回false時,表示並沒有完全處理完該事件,更希望其他方法繼續對其進行處理。
一、設計界面
1、首先把a.jpg、b.jpg、c.jpg、d.jpg、e.jpg、prov.png、next.png圖片復制到res/drawable-hdpi文件夾內。
2、打開“res/layout/activity_main.xml”文件,生成ImageButton按鈕。
(1)從工具欄向activity拖出1個圖像ImageView、2個圖像按鈕ImageButton。該控件來自Image&Media。
3、打開activity_main.xml文件。
我們把自動生成的代碼修改成如下代碼,具體為:
(1)ImageView的id修改為picture;
(2)“上一幅”按鈕ImageButton的id修改為prov;
(3)設置android:padding="0dp",按鈕灰色邊框去掉。
(4)“下一幅”按鈕ImageButton的id修改為next;
(5)設置android:padding="0dp",按鈕灰色邊框去掉。
代碼如下:
[html] view plain copy
- <RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" >
-
- <ImageView
- android:id="@+id/picture"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="18dp"
- android:src="@drawable/a"
- tools:ignore="ContentDescription" />
-
- <ImageButton
- android:id="@+id/prov"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_below="@+id/picture"
- android:layout_marginLeft="38dp"
- android:layout_marginTop="16dp"
- android:padding="0dp"
- android:src="@drawable/prov" />
-
- <ImageButton
- android:id="@+id/next"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
- android:layout_alignTop="@+id/prov"
- android:layout_marginRight="24dp"
- android:padding="0dp"
- android:src="@drawable/next" />
-