android滑动基础篇

来源:互联网 发布:淘宝怎么解决管控纪录 编辑:程序博客网 时间:2024/05/01 07:16

 因为觉得android用到滑动的地方比较多,所以在写一篇基础的里字..

效果图:

代码部分:

 activity类代码:

package com.TouchView;import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.widget.TextView;public class TouchView extends Activity {    private TextView eventlable;    private TextView histroy;    private TextView TouchView;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        TouchView =(TextView)findViewById(R.id.touch_area);        histroy =(TextView)findViewById(R.id.history_label);        eventlable =(TextView)findViewById(R.id.event_label);                TouchView.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {int action =event.getAction();switch(action){//当按下的时候case (MotionEvent.ACTION_DOWN):Display("ACTION_DOWN",event);break;//当按上的时候case(MotionEvent.ACTION_UP):int historysize=ProcessHistory(event);    histroy.setText("历史数据"+historysize);    Display("ACTION_UP",event);    break; //当触摸的时候case(MotionEvent.ACTION_MOVE):Display("ACTION_MOVE",event);}return true;}});    }    public void Display(String eventType,MotionEvent event){    //触点相对坐标的信息    int x =(int) event.getX();    int y=(int)event.getY();    //表示触屏压力大小    float pressure =event.getPressure();    //表示触点尺寸    float size=event.getSize();    //获取绝对坐标信息    int RawX=(int)event.getRawX();    int RawY=(int)event.getRawY();        String msg="";        msg+="事件类型"+eventType+"\n";    msg+="相对坐标"+String.valueOf(x)+","+String.valueOf(y)+"\n";    msg+="绝对坐标"+String.valueOf(RawX)+","+String.valueOf(RawY)+"\n";    msg+="触点压力"+String.valueOf(pressure)+",";    msg+="触点尺寸"+String.valueOf(size)+"\n";    eventlable.setText(msg);    }    public int ProcessHistory(MotionEvent event){    int history =event.getHistorySize();    for(int i=0;i<history;i++){    long time=event.getHistoricalEventTime(i);    float pressure=event.getHistoricalPressure(i);    float x=event.getHistoricalX(i) ;    float y=event.getHistoricalY(i);        float size=event.getHistoricalSize(i);    }    return history;        }    }


MAIN.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"    ><TextView      android:id="@+id/touch_area"    android:layout_width="fill_parent"     android:layout_height="300dip"     android:background="#0FF"    android:textColor="#FFFFFF"    android:text="触摸事件测试区"     />    <TextView      android:id="@+id/history_label"    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="历史数据"      />    <TextView      android:id="@+id/event_label"    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="触摸事件:"      /></LinearLayout>


 

原创粉丝点击