mirror of https://github.com/moparisthebest/k-9
78 lines
2.0 KiB
Java
78 lines
2.0 KiB
Java
package com.nobu_games.android.view.web;
|
|
|
|
import android.content.Context;
|
|
import android.util.AttributeSet;
|
|
import android.view.MotionEvent;
|
|
import android.view.View;
|
|
import android.webkit.WebViewClassic.TitleBarDelegate;
|
|
|
|
public class JBTitleBarWebView extends TitleBarWebView implements
|
|
TitleBarDelegate {
|
|
|
|
public JBTitleBarWebView(Context context) {
|
|
super(context);
|
|
}
|
|
|
|
public JBTitleBarWebView(Context context, AttributeSet attrs) {
|
|
super(context, attrs);
|
|
}
|
|
|
|
public JBTitleBarWebView(Context context, AttributeSet attrs, int defStyle) {
|
|
super(context, attrs, defStyle);
|
|
}
|
|
|
|
/**
|
|
* <i>Makes sure that the title bar view gets touch events</i>
|
|
* <p>
|
|
* {@inheritDoc}
|
|
*/
|
|
@Override
|
|
public boolean dispatchTouchEvent(MotionEvent event) {
|
|
if(mTitleBar != null) {
|
|
final int sy = getScrollY();
|
|
final int visTitleHeight = getVisibleTitleHeightCompat();
|
|
final float x = event.getX();
|
|
float y = event.getY();
|
|
|
|
switch(event.getActionMasked()) {
|
|
case MotionEvent.ACTION_DOWN:
|
|
if(y <= visTitleHeight) {
|
|
mTouchInTitleBar = true;
|
|
}
|
|
break;
|
|
|
|
case MotionEvent.ACTION_MOVE:
|
|
mTouchMove = true;
|
|
break;
|
|
|
|
case MotionEvent.ACTION_UP:
|
|
case MotionEvent.ACTION_CANCEL:
|
|
mTouchMove = false;
|
|
break;
|
|
|
|
default:
|
|
}
|
|
|
|
if(mTouchInTitleBar) {
|
|
y += sy;
|
|
event.setLocation(x, y);
|
|
|
|
return mTitleBar.dispatchTouchEvent(event);
|
|
}
|
|
}
|
|
|
|
return super.dispatchTouchEvent(event);
|
|
}
|
|
|
|
@Override
|
|
public int getTitleHeight() {
|
|
if(mTitleBar != null) return mTitleBar.getHeight();
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public void onSetEmbeddedTitleBar(View title) {
|
|
}
|
|
|
|
}
|