事件传递
Android的事件传递有下面三种方法:
1、dispatchTouchEvent 表示事件的分发
2、onInterceptTouchEvent 表示事件的拦截
3、onTouchEvent 表示事件的处理
返回值为false表示不拦截、不分发
下拉刷新:
package com.example.administrator.myrefreshdemo;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.ListView;
/**
* Created by Administrator on 2015/9/24.
*/
public class MyRefreshLayout extends FrameLayout {
ListView content;
public MyRefreshLayout(Context context) {
super(context);
}
public MyRefreshLayout(Context context, AttributeSet attrs) {
super(context, attrs);
//先添加一个下拉刷新
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View header = inflater.inflate(R.layout.activity_fresh,null);
addView(header);
//再添加一个上边的view
content = (ListView) inflater.inflate(R.layout.activity_listview,null);
addView(content);
ArrayAdapter <String> adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1,new String[]{
"a","b","c","d","e","f","a","b","c","d","e","f"});
content.setAdapter(adapter);
}
public MyRefreshLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return super.dispatchTouchEvent(ev);
}
@Override
public boolean