package com.example.mywidget; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.webkit.WebView; public class MyWebView extends WebView { public MyWebView(Context context) { super(context); // TODO Auto-generated constructor stub } public MyWebView(Context context,AttributeSet paramAttributeSet) { super(context,paramAttributeSet); } @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub if(event.getAction()==event.ACTION_MOVE&&(event.getX())>0&&this.canGoBack()){ this.goBack(); System.out.println("MyWebView.onTouchEvent():goBack:"+event.getRawX()); return true; }else if(event.getAction()==event.ACTION_MOVE&&event.getRawX()<0&&this.canGoForward()){ this.goForward(); System.out.println("MyWebView.onTouchEvent():goForward:"+event.getRawX()); return true; } return super.onTouchEvent(event); } }上面是自定义控件的类
XML中引用自定义控件
在XML中加入自定义控件其实很简单。只需要在控件名字前加入包名即可。如下:
<com.example.mywidget.MyWebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="fill_parent" />
如果你没有加
public MyWebView(Context context,paramAttributeSet); }android.view.InflateException:BinaryXMLfileline#异常