以自定义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
相关文章:
如何在橙子建站上传落地页?操作指南详解
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
微信推文制作网站有哪些,怎么做微信推文,急?
如何用虚拟主机快速搭建网站?详细步骤解析
建站VPS推荐:2025年高性能服务器配置指南
如何通过FTP服务器快速搭建网站?
如何通过NAT技术实现内网高效建站?
实现虚拟支付需哪些建站技术支撑?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
C++如何使用std::optional?(处理可选值)
如何在Windows环境下新建FTP站点并设置权限?
公司门户网站制作流程,华为官网怎么做?
高防服务器租用首荐平台,企业级优惠套餐快速部署
建站之星展会模版如何一键下载生成?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
建站之星上传入口如何快速找到?
如何通过WDCP绑定主域名及创建子域名站点?
建站主机无法访问?如何排查域名与服务器问题
建站VPS能否同时实现高效与安全翻墙?
如何通过智能用户系统一键生成高效建站方案?
怀化网站制作公司,怀化新生儿上户网上办理流程?
网站制作服务平台,有什么网站可以发布本地服务信息?
如何用IIS7快速搭建并优化网站站点?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何在IIS中新建站点并配置端口与物理路径?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
如何在Golang中指定模块版本_使用go.mod控制版本号
宝塔新建站点报错如何解决?
建站之星如何助力企业快速打造五合一网站?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何在阿里云购买域名并搭建网站?
如何在阿里云虚拟服务器快速搭建网站?
c# 在高并发场景下,委托和接口调用的性能对比
深圳网站制作平台,深圳市做网站好的公司有哪些?
Android滚轮选择时间控件使用详解
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
专业网站建设制作报价,网页设计制作要考什么证?
在线教育网站制作平台,山西立德教育官网?
网站制作话术技巧,网站推广做的好怎么话术?
广州建站公司哪家好?十大优质服务商推荐
建站之星如何取消后台验证码生成?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何快速搭建个人网站并优化SEO?
网站制作企业,网站的banner和导航栏是指什么?
*请认真填写需求信息,我们会在24小时内与您取得联系。