社区
Android
帖子详情
关于android控件上手势的问题
wu55uw
2012-05-17 09:39:45
我现在要做一个列表,列表竖直放在屏幕左侧,占屏幕1/4宽度,列表上的项要可以点击,长按,这个列表要可以上下滑动,而且向右拖动列表项的时候该项要可以马上被拖动,在拖动的同时要放大。请问这样的效果要用什么做比较好呢。
我现在用ListView实现了,点击长按上下滑动都没问题,用手势做的向右拖动判断总是不够灵敏,有什么好办法吗?
...全文
211
1
打赏
收藏
关于android控件上手势的问题
我现在要做一个列表,列表竖直放在屏幕左侧,占屏幕1/4宽度,列表上的项要可以点击,长按,这个列表要可以上下滑动,而且向右拖动列表项的时候该项要可以马上被拖动,在拖动的同时要放大。请问这样的效果要用什么做比较好呢。 我现在用ListView实现了,点击长按上下滑动都没问题,用手势做的向右拖动判断总是不够灵敏,有什么好办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wu55uw
2012-05-21
打赏
举报
回复
class GVIntGestureListener implements OnGestureListener,OnTouchListener {
private GestureDetector mGestureDetector;
public GVIntGestureListener() {
mGestureDetector = new GestureDetector(mLauncher,this);
mGestureDetector.setIsLongpressEnabled(false);
}
public boolean onDown(MotionEvent e) {
Log.i("Down","Down");
return false;
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
Log.i("onFling","onFling");
if(Math.abs(velocityX)>Math.abs(velocityY ) && mDragView==null && !mbIsDraging){
//当前滑动的子控件索引
int FlingChildIndex = pointToPosition((int) e2.getX(), (int) e2.getY());
TubiaoElementInfo tElement = new TubiaoElementInfo();
//最后一个元素为“添加”,不处理其滑动事件
if(FlingChildIndex!=INVALID_POSITION && FlingChildIndex < mAdapter.getCount() - 1){
tElement = (TubiaoElementInfo)mAdapter.getItem(FlingChildIndex);
View item = getChildAt(FlingChildIndex - getFirstVisiblePosition());
mDragger.startDrag(item, GridViewInterceptor.this, tElement, DragController.DRAG_ACTION_MOVE);
//在滑动开始后禁用GridViewInterceptor,这样它就不能接收到Touch操作
setEnabled(false);
mbIsDraging = true;
}
}
return true;
}
public void onLongPress(MotionEvent e) {
Log.i("onLongPress","onLongPress");
}
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
Log.i("onScroll","distanceX"+distanceX+"distanceY"+distanceY);
if(Math.abs(distanceX)>Math.abs(distanceY) && mDragView==null && !mbIsDraging){
//当前滑动的子控件索引
int FlingChildIndex = pointToPosition((int) e2.getX(), (int) e2.getY());
TubiaoElementInfo tElement = new TubiaoElementInfo();
//最后一个元素为“添加”,不处理其滑动事件
if(FlingChildIndex!=INVALID_POSITION && FlingChildIndex < mAdapter.getCount() - 1){
tElement = (TubiaoElementInfo)mAdapter.getItem(FlingChildIndex);
ViewGroup item = (ViewGroup) getChildAt(FlingChildIndex - getFirstVisiblePosition());
mDragger.startDrag(item, GridViewInterceptor.this, tElement, DragController.DRAG_ACTION_MOVE);
//在滑动开始后禁用GridViewInterceptor,这样它就不能接收到Touch操作
setEnabled(false);
mbIsDraging = true;
}
}
return false;
}
Android
双向侧滑菜单 自定义
控件
在
Android
开发中,自定义
控件
是为了满足特定需求而创建的。在这个案例中,开发者创建了一个可以支持从两侧滑出的DrawerLayout,这超出了原生组件的默认功能。自定义
控件
通常涉及到重写父类的方法,添加额外的属性,...
Android
向右滑动切换Activity, 随着
手势
的滑动而滑动的效果
总之,实现
Android
向右滑动切换Activity的效果涉及多个
Android
组件和技术,包括`ViewPager`、`Fragment`、
手势
识别、动画和第三方库。通过理解和应用这些知识,你可以为用户创造一个流畅、直观的交互体验。
android
视频播放自定义
控件
`VideoView`是
Android
SDK提供的一种用于播放视频的原生
控件
,它可以轻松地嵌入到布局中,并且支持基本的播放、暂停、停止等操作。然而,为了满足更复杂的用户交互和自定义视觉效果,我们往往需要对`VideoView`进行...
Android
高级图片滚动
控件
,3D版的图片轮播器Demo
在
Android
开发中,图片滚动
控件
是常见的UI组件,用于展示多张图片并实现自动轮播效果。本项目提供了一个高级版本的3D图片轮播器Demo,它不仅具有基本的图片切换功能,还增加了立体视觉效果,提升了用户体验。下面...
自定义ImageView
控件
,具有缩放和拖拽功能
在
Android
开发中,自定义
控件
是提升应用用户体验和实现特定功能的重要手段。本文将深入探讨如何创建一个自定义的ImageView
控件
,该
控件
具备图片的缩放和拖拽功能,非常适合用于图片的浏览场景,能提供更加灵活且用户...
Android
80,493
社区成员
91,384
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章