提交 9f26afa7 编写于 作者: H huangziwei

细节完善

上级 b4ca6f3f
......@@ -553,6 +553,34 @@ public class DoodleActivity extends Activity {
}
});
mDoodleView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// 隐藏设置面板
if (!mBtnHidePanel.isSelected() // 设置面板没有被隐藏
&& mDoodleParams.mChangePanelVisibilityDelay > 0) {
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
mSettingsPanel.removeCallbacks(mHideDelayRunnable);
mSettingsPanel.removeCallbacks(mShowDelayRunnable);
//触摸屏幕超过一定时间才判断为需要隐藏设置面板
mSettingsPanel.postDelayed(mHideDelayRunnable, mDoodleParams.mChangePanelVisibilityDelay);
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
mSettingsPanel.removeCallbacks(mHideDelayRunnable);
mSettingsPanel.removeCallbacks(mShowDelayRunnable);
//离开屏幕超过一定时间才判断为需要显示设置面板
mSettingsPanel.postDelayed(mShowDelayRunnable, mDoodleParams.mChangePanelVisibilityDelay);
break;
}
}
return false;
}
});
// 长按标题栏显示原图
findViewById(R.id.doodle_txt_title).setOnTouchListener(new View.OnTouchListener() {
@Override
......@@ -858,33 +886,6 @@ public class DoodleActivity extends Activity {
findViewById(R.id.doodle_btn_back).performClick();
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getX() <= mDoodleView.getTop()) {
return super.dispatchTouchEvent(ev);
}
// 隐藏设置面板
if (!mBtnHidePanel.isSelected() // 设置面板没有被隐藏
&& mDoodleParams.mChangePanelVisibilityDelay > 0) {
switch (ev.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
mSettingsPanel.removeCallbacks(mHideDelayRunnable);
mSettingsPanel.removeCallbacks(mShowDelayRunnable);
//触摸屏幕超过一定时间才判断为需要隐藏设置面板
mSettingsPanel.postDelayed(mHideDelayRunnable, mDoodleParams.mChangePanelVisibilityDelay);
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
mSettingsPanel.removeCallbacks(mHideDelayRunnable);
mSettingsPanel.removeCallbacks(mShowDelayRunnable);
//离开屏幕超过一定时间才判断为需要显示设置面板
mSettingsPanel.postDelayed(mShowDelayRunnable, mDoodleParams.mChangePanelVisibilityDelay);
break;
}
}
return super.dispatchTouchEvent(ev);
}
private void showView(View view) {
if (view.getVisibility() == View.VISIBLE) {
return;
......
......@@ -172,9 +172,15 @@ public class DoodleView extends FrameLayout implements IDoodle {
}
private Matrix mTouchEventMatrix = new Matrix();
private OnTouchListener mOnTouchListener;
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
if (mOnTouchListener != null) {
if (mOnTouchListener.onTouch(this, event)) {
return true;
}
}
mTouchX = event.getX();
mTouchY = event.getY();
......@@ -192,6 +198,12 @@ public class DoodleView extends FrameLayout implements IDoodle {
return handled;
}
@Override
public void setOnTouchListener(OnTouchListener l) {
mOnTouchListener = l;
super.setOnTouchListener(l);
}
private void initDoodleBitmap() {// 不用resize preview
int w = mBitmap.getWidth();
int h = mBitmap.getHeight();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册