以自定义ImageView为例:
/**
* 可拖拽ImageView
* Created by admin on 2017/2/21.
*/
public class FloatingImageView extends ImageView{
public FloatingImageView(Context context) {
super(context);
}
public FloatingImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public FloatingImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public FloatingImageView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
int startX;
int startY;
int left;
int top;
int[] temp = new int[]{ 0, 0 };
@Override
public boolean onTouchEvent(MotionEvent event) {
boolean isMove = false;
int x = (int) event.getRawX();
int y = (int) event.getRawY();
switch (event.getAction()){
case MotionEvent.ACTION_DOWN: // touch down so check if the
startX = x;
startY = y;
temp[0] = (int) event.getX();
temp[1] = y - getTop();
break;
case MotionEvent.ACTION_MOVE: // touch drag with the ball
left = x - temp[0];
top = y - temp[1];
if(left < 0){//控制左边界不超出
left = 0;
}
layout(left, top, left + getWidth(),top + getHeight());//自由拖拽
break;
case MotionEvent.ACTION_UP:
if (Math.abs(x - startX) > 2 || Math.abs(y - startY) > 2){//判断是否移动,再一定范围内不算是移动,解决触发事件冲突
//将最后拖拽的位置定下来,否则页面刷新渲染后按钮会自动回到初始位置
//注意父容器
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) getLayoutParams();
lp.setMargins(left, top,0,0);
setLayoutParams(lp);
//确定是拖拽
isMove = true;
}
break;
}
return isMove ? true : super.onTouchEvent(event);
}
}
以上所述是小编给大家介绍的Android 自定义可拖拽View界面渲染刷新后不会自动回到起始位置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# 可拖拽view
# android ListView和GridView拖拽移位实现代码
# Android自定义ListView实现仿QQ可拖拽列表功能
# android RecyclerView侧滑菜单
# 滑动删除
# 长按拖拽
# 下拉刷新上拉加载
# Android利用RecyclerView实现全选、置顶和拖拽功能示例
# Android中在GridView网格视图上实现item拖拽交换的方法
# Android使用RecycleView实现拖拽交换item位置
# Android自定义View实现可以拖拽的GridView
# Android ReboundScrollView仿IOS拖拽回弹效果
# Android使用CardView作为RecyclerView的Item并实现拖拽和左滑删除
# Android自定义View实现拖拽效果
# 拖拽
# 自定义
# 小编
# 在此
# 给大家
# 为例
# 所述
# 给我留言
# 感谢大家
# 定下来
# 判断是否
# 疑问请
# 有任何
# LOLLIPOP
# VERSION_CODES
# Build
# defStyleRes
# TargetApi
# defStyleAttr
# int
相关文章:
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
建站之星ASP如何实现CMS高效搭建与安全管理?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
实例解析Array和String方法
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
想学网站制作怎么学,建立一个网站要花费多少?
音响网站制作视频教程,隆霸音响官方网站?
如何快速搭建虚拟主机网站?新手必看指南
如何在IIS中新建站点并解决端口绑定冲突?
网站图片在线制作软件,怎么在图片上做链接?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
,石家庄四十八中学官网?
如何注册花生壳免费域名并搭建个人网站?
盘锦网站制作公司,盘锦大洼有多少5G网站?
如何在VPS电脑上快速搭建网站?
移民网站制作流程,怎么看加拿大移民官网?
如何选择高效稳定的ISP建站解决方案?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
宝塔新建站点为何无法访问?如何排查?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
建站之星安装需要哪些步骤及注意事项?
如何选择美橙互联多站合一建站方案?
,怎么在广州志愿者网站注册?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
做企业网站制作流程,企业网站制作基本流程有哪些?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
建站之星展会模板:智能建站与自助搭建高效解决方案
h5在线制作网站电脑版下载,h5网页制作软件?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
平台云上自主建站:模板化设计与智能工具打造高效网站
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
深圳网站制作的公司有哪些,dido官方网站?
Swift中循环语句中的转移语句 break 和 continue
测试制作网站有哪些,测试性取向的权威测试或者网站?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
建站之星安装失败:服务器环境不兼容?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
建站主机如何选?性能与价格怎样平衡?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
*服务器网站为何频现安全漏洞?
如何快速完成中国万网建站详细流程?
如何快速搭建自助建站会员专属系统?
如何快速建站并高效导出源代码?
*请认真填写需求信息,我们会在24小时内与您取得联系。