易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Android2.2.3 实现多点缩放功能
Android2.2.3 实现多点缩放功能:
// 触摸事件
@Override
public
boolean
onTouchEvent(MotionEvent event) {
if
(
false
==
this
.is_initialized()) {
return
false
;
}
try
{
PointF point_s =
new
PointF();
point_s.x = event.getX();
point_s.y = event.getY();
int
x = (
int
) point_s.x;
// Float.to( event.getX() );
int
y = (
int
) point_s.y;
// Float.floatToIntBits( event.getY() );
switch
(event.getAction() & MotionEvent.ACTION_MASK) {
case
MotionEvent.ACTION_DOWN:
m_pressPt.set(x, y);
mode = DRAG;
break
;
case
MotionEvent.ACTION_UP:
if
(mode == DRAG) {
int
px = x - m_pressPt.x;
int
py = y - m_pressPt.y;
if
(px !=
0
&& py !=
0
) {
m_naviEngine.SetCenter(
480
- px,
270
- py);
}
}
mode = NONE;
break
;
case
MotionEvent.ACTION_POINTER_UP:
if
(mode == ZOOM) {
float
newDist = spacing(event);
if
(newDist > 10f) {
float
scale = newDist - oldDist;
if
(scale >
0
) {
m_levelIndex = getLevelIndex();
// 设置当前比例尺
if
(m_levelIndex < m_level.length -
1
) {
m_levelIndex++;
m_naviEngine.SetLevel(m_level[m_levelIndex]);
m_btnZoomOut.setEnabled(
true
);
if
(m_levelIndex == m_level.length -
1
) {
m_btnZoomIn.setEnabled(
false
);
}
// 更新信息弹出框
// showPopSign();
}
}
else
{
m_levelIndex = getLevelIndex();
// 设置当前比例尺以及按钮状态
if
(m_levelIndex >
0
) {
m_levelIndex--;
m_naviEngine.SetLevel(m_level[m_levelIndex]);
m_btnZoomIn.setEnabled(
true
);
if
(m_levelIndex ==
0
) {
m_btnZoomOut.setEnabled(
false
);
}
// 更新信息弹出框
// showPopSign();
}
}
}
}
break
;
case
MotionEvent.ACTION_POINTER_DOWN:
oldDist = spacing(event);
if
(oldDist > 10f) {
mode = ZOOM;
}
break
;
}
}
catch
(UnsatisfiedLinkError e) {
return
false
;
}
return
m_gestureScanner.onTouchEvent(event);
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图