Android觸屏滑動事件總結

來源:互聯網
上載者:User

螢幕切換指的是在同一個Activity內螢幕見的切換。

通過GestureDetector、OnGestureListener實現滑屏事件。ViewFlipper是繼承至FrameLayout的,所以它是一個Layout裡面可以放置多個View。樣本中第一頁僅放了一個按鈕BUTTON,向下滑屏時,每頁都只放了一個TEXTVIEW。

頁面:

view plaincopy to clipboardprint?
<?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" 
   > 
   <ViewFlipperandroid:id="@+id/ViewFlipper01" 
       android:layout_width="fill_parent"android:layout_height="fill_parent"> 
   </ViewFlipper> 
</LinearLayout> 
 

Activity代碼:

view plaincopy to clipboardprint?
package com.yfz; 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.GestureDetector; 
import android.view.MotionEvent; 
import android.view.View; 
importandroid.view.GestureDetector.OnGestureListener; 
import android.view.ViewGroup.LayoutParams; 
importandroid.view.animation.AnimationUtils; 
import android.widget.Button; 
import android.widget.ExpandableListView; 
import android.widget.TextView; 
import android.widget.ViewFlipper; 
public class Flip extends Activity implements OnGestureListener{ 
     
    privateGestureDetector detector; 
    privateViewFlipper flipper; 
     
    
   @Override 
    public voidonCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.main); 
         
       flipper
= (ViewFlipper)this.findViewById(R.id.ViewFlipper01); 
         
       flipper.addView(addButtonByText("按鈕"),new
LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)); 
         
       detector
= new GestureDetector(this); 
   } 
     
    public ViewaddButtonByText(String text){ 
       Button
btn = newButton(this);   
       btn.setText(text);   
       returnbtn;   
   }   
    public ViewaddTextByText(String text){ 
       TextView
tv = newTextView(this);   
       tv.setText(text);   
       tv.setGravity(1);   
       returntv;   
   }   
     
   @Override 
    publicboolean onTouchEvent(MotionEvent event) { 
       Log.i("Fling",
"Activity onTouchEvent!"); 
       return
this.detector.onTouchEvent(event); 
   } 
   @Override 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.