当前位置: 首页 > news >正文

初学者做网站的软件百度移动端优化

初学者做网站的软件,百度移动端优化,抖音小程序推广怎么挂才有收益,网站建设一般收多少定金Android控件拖动Android控件的拖动,主要是通过设置控件的setOnTouchListener()方法,重写它的onTouch()方法。然后通过MotionEvent的不同事件,进行判断,主要是在MotionEvent.ACTION_MOVE中不断重绘控件在画布中的位置,而…

Android控件拖动

Android控件的拖动,主要是通过设置控件的setOnTouchListener()方法,重写它的onTouch()方法。然后通过MotionEvent的不同事件,进行判断,主要是在MotionEvent.ACTION_MOVE中不断重绘控件在画布中的位置,而实现拖动的效果。

public class DragViewActivity extends AppCompatActivity {

private Button btn_drag;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_drag_view);

// 获取屏幕的宽高

DisplayMetrics dm = getResources().getDisplayMetrics();

final int screenWith = dm.widthPixels;

final int screenHeight = dm.heightPixels;

btn_drag = (Button) findViewById(R.id.btn_drag);

btn_drag.setOnTouchListener(new View.OnTouchListener() {

int lastX;

int lastY;

boolean isDraging = false;

@Override

public boolean onTouch(View v,MotionEvent event) {

int ee = event.getAction();

switch (ee){

case MotionEvent.ACTION_DOWN:

isDraging = true;

lastX = (int) event.getRawX();

lastY = (int) event.getRawY();

break;

case MotionEvent.ACTION_MOVE:

if (isDraging){

// x轴方向的位移差

int dx = (int) event.getRawX() - lastX;

// y轴方向的位移差

int dy = (int) event.getRawY() - lastY;

int l = v.getLeft() + dx;

int t = v.getTop() + dy;

int r = v.getRight() + dx;

int b = v.getBottom() + dy;

// 判断超出屏幕

if (l < 0){

l = 0;

r = l + v.getWidth();

}

if (t < 0){

t = 0;

b = t + v.getHeight();

}

if (r > screenWith){

r = screenWith;

l = r - v.getWidth();

}

if (b > screenHeight){

b = screenHeight;

t = b - v.getHeight();

}

// 重绘view

v.layout(l,t,r,b);

v.postInvalidate();

lastX = (int) event.getRawX();

lastY = (int) event.getRawY();

}

break;

case MotionEvent.ACTION_UP:

isDraging = false;

break;

default:

break;

}

return false;

}

});

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是编程之家为你收集整理的Android控件拖动实例详解全部内容,希望文章能够帮你解决Android控件拖动实例详解所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

http://www.lbrq.cn/news/2569591.html

相关文章:

  • 免费发布网页的网站软文写作技巧及范文
  • 广告网站定制app推广代理去哪里找
  • 西昌网站建设杭州百度整站优化服务
  • 有没有学校需要建设网站在线的crm系统软件
  • 美国主机教育网站建设手机端竞价恶意点击
  • web开发是做网站吗源码网
  • 文山建设局网站线上培训平台
  • 网站推广最有效的方法搜索风云榜百度
  • asp net网站开发语言的特点企业在线培训系统
  • 连云港企业建站 网站昆明seo技术培训
  • 登录名修改wordpress云南网站seo服务
  • 西安 网站建设广告联盟哪个比较好
  • b2c电子商务网站建设价格多少钱广州网络营销运营
  • php做网站要用到的技术cpc广告接单平台
  • 武汉网站制作哪家强友情链接的概念
  • 郑州高端网站制作武汉网络推广网络营销
  • 网站标题作弊详解龙岗seo网络推广
  • o2o网站开发公司搜狗指数
  • 常州网站建设平台搜索引擎调词软件
  • 重庆南岸营销型网站建设公司哪家专业长春网站优化方案
  • 宁夏建设网站百度搜索引擎官网入口
  • 电子商务网站建设实训方案sem营销推广
  • 个人建站赚钱站长工具永久
  • 邯郸网站建设推广网站seo策划方案
  • 地产网站建设互动营销网站推广方法
  • 武汉光谷做网站价格网络营销的四大基础理论
  • 外贸网站 万网快排seo排名软件
  • 做网站后台数据库建设跨境电商平台注册开店流程
  • 游戏网站seo怎么做开鲁网站seo
  • 网站建设制作找哪家公司免费建站免费推广的网站
  • 【昇腾推理PaddleOCR】生产级部署方式
  • 关于echarts的性能优化考虑
  • Spotlight on MySQL 300安装教程(附使用指南):实时监控MySQL性能的工具
  • Windows11 WSL安装Ubntu22.04,交叉编译C语言应用程序
  • 标准项目-----网页五子棋(4)-----游戏大厅+匹配+房间代码
  • 【vue】Vue 项目创建工具对比:vue create 与 create-vue 的核心区别