activity 中创建view 随手拖动

Android--自定义可拖动view //该可拖动view主要是有两个imageview,一个用来隐藏该view,一个用来做正常的点击事件。 public DragView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); LayoutInflater inflater = Lay... 阅读详情

实现一 往根布局里加,比较麻烦,好像还要考虑外层布局

public class MainActivityC extends AppCompatActivity {

String TAG="-------------------";

RelativeLayout inflate;

RelativeLayout ll;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ll = (RelativeLayout)findViewById(R.id.ro);

inflate = (RelativeLayout)LayoutInflater.from(this).inflate(R.layout.a1, null);

}

@Override

public boolean onTouchEvent(MotionEvent event) {

Log.e("-------"," "+event.getAction()+" x "+event.getX()+" y "+event.getY());

switch (event.getAction()){

case MotionEvent.ACTION_DOWN:

ll.removeView(inflate);

inflate.setX(event.getX());

inflate.setY(event.getY());

inflate.setZ(100);

ll.addView(inflate);

break;

case MotionEvent.ACTION_MOVE:

inflate.setX(event.getX());

inflate.setY(event.getY());

break;

case MotionEvent.ACTION_UP:

ll.removeView(inflate);

break;

}

return super.onTouchEvent(event);

}

}

实现二 比较简单,往Window上加一层位置也比较正确,其他情况待验

public class MainActivityC extends AppCompatActivity {

RelativeLayout inflate;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Window window = getWindow();

inflate = (RelativeLayout)LayoutInflater.from(this).inflate(R.layout.a1, null);

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

inflate.setLayoutParams(layoutParams);

window.addContentView(inflate,inflate.getLayoutParams());

}

@Override

public boolean onTouchEvent(MotionEvent event) {

Log.e("-------"," "+event.getAction()+" x "+event.getX()+" y "+event.getY());

switch (event.getAction()){

case MotionEvent.ACTION_DOWN:

inflate.setX(event.getX());

inflate.setY(event.getY());

inflate.setZ(100);

inflate.setVisibility(View.VISIBLE);

break;

case MotionEvent.ACTION_MOVE:

inflate.setX(event.getX());

inflate.setY(event.getY());

break;

case MotionEvent.ACTION_UP:

inflate.setVisibility(View.GONE);

break;

}

return super.onTouchEvent(event);

}

}

android 长按震动并拖动删除 类似于手机软件的长按卸载 1、创建监听的view和被拖曳的view,这里以TextView和ImageView为例 <TextView android:id="@+id/removethis" android:layout_width="match_parent" android:layout_height="match_parent" android:gra... 阅读详情

相关推荐

电源管理芯片PMIC

(Power Management Integrated Circuits,简称:将电源电压转换为电子设备各部分所需的适当电压水平,包括升压(Boost)、降压(Buck)和升降压(Buck-Boost)转换。:控制和限制流向电子设备各部分的电流,以保护组件免受过电流损害。:管理多个电源轨,为不同的部分提供稳定的电能控制。电源轨指电路板上传输电力的线路。电源监控:提供过电压、欠电压、过电流、过热和短路保护,以防止电子设备损坏。:通过高效的电源转换技术,减少能量损耗,提高能源利用效率。

qq_42786033的博客 1万+

Window、Activity、View的关系

Activity的作用是创建一个窗口Window,不是真正的展示视图和管理View,实际上视图的展示是依附在Window上的,也就是Window对View进行真正的管理

yzpbright的博客 459

SIMPLIS实战:从零构建理想BUCK电路,精准计算与POP稳态分析

本文详细介绍了如何使用SIMPLIS软件从零开始构建并仿真一个理想的BUCK降压电路。通过设定关键参数、计算理想器件值,并搭建仿真模型,文章重点演示了暂态仿真以观察电路上电过程,并深入讲解了高效的POP(周期性工作点)稳态分析技术,帮助工程师快速验证设计、评估稳态性能,从而加速电源设计迭代。

weixin_29165465的博客 392

Activity的view添加到window

在“Activity中view的加载”文章中可知,当用户在Activity中提供的view添加到DecorView后,view的加载就完成,再经过绘制就能显示出来了。那么DecorView又是如何添加到窗口中的或者说Activity关联的view又是如何被添加到窗口中的? Activitythread的scheduleLaunchActivity方法负责启动Activity,经过Handerl处...

罗锋的博客 979

【机械视觉】C#+VisionPro实战:位深图(CogImage8Grey)与Bitmap互转技巧及工业检测应用

本文详细介绍了在工业检测中如何使用C#和VisionPro实现位深图(CogImage8Grey)与Bitmap的高效互转技巧。通过实战代码示例和工业应用案例,帮助开发者解决图像处理中的常见问题,提升检测精度和系统性能,适用于半导体、汽车零部件等高精度检测场景。

weixin_29250573的博客 186

HDI盲埋孔设计规范:高速PCB信号完整性落地指南

盲埋孔是高密度互连(HDI)PCB实现高速信号完整性的关键技术,其本质是通过控制过孔stub长度、优化回流路径和提升布线密度,解决GHz级信号在传统通孔结构下出现的谐振、串扰与EMI超标问题。其设计核心在于叠层物理约束、电气参数建模与工艺能力协同,涉及stub长度计算、反焊盘尺寸推导、孔壁粗糙度Rz控制等关键指标。广泛应用于DDR4、PCIe Gen4、USB3.2等高速接口的PCB设计中,尤其在车载ADAS、5G基站及FPGA载板等对SI/PI要求严苛的场景中成为刚性门槛。

weixin_34416754的博客 436

Android 如何在代码中动态的添加View 及 指定位置

一些要点 DecorView 是android 界面的顶级View ,当前界面的整个即为DecorView。DecorView为FrameLayout,而DecorView 一般会包含一个竖直方向的LinearLayout。这个竖直方向的LinearLayout 一般分为两个部分(具体Android版本和主题有所不同),上部分为标题栏,下部分为内容栏,而内容栏的id 为 android.R.id....

android开发笔记 6689

FortiOS 存在身份验证绕过导致命令执行漏洞(CVE-2024-55591)

FortiOS 是 Fortinet 公司开发的操作系统,作为 Fortinet 安全平台的核心,提供全面的网络安全功能。 它将网络和安全功能无缝集成,支持跨本地、云、混合和融合 IT/OT/IoT 基础设施环境的统一管理。 FortiOS 7.6 版本引入了生成式人工智能助手、数据保护、托管服务和单一代理等新功能,进一步增强了其安全性和性能。

缘梦未来的博客 1841

activity或者window:addview

window添加view WindowManager windowManager = (WindowManager) getApplication().getSystemService(Context.WINDOW_SERVICE); DisplayMetrics displayMetrics = getWindowMetrics(); mParent

u013708985的专栏 793

python基础之语言发展历史

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。 目录一、前言二、发展历史1、Python是一种面向对象的解释型编程语言2、Python常被称为胶水语言3、Python由Guido开发4、Python连续多年入选编程语言TOP105、Python的发展历史三、总结 一、前言   由于Python语言的简洁性、易读性以及可扩展性,它在网络爬虫、数据分析、.

jiankang66的博客 3348

Docker:快速部署 Temporal 工作流引擎的技术指南

Temporal是一个开源的分布式工作流引擎,适用于复杂业务流程(如订单处理、支付流程等),提供状态持久化、自动重试、多语言SDK支持等特性。部署简单,支持Docker Compose,包含核心服务、Web UI及数据库。以TypeScript为例,开发者可快速编写工作流(如订单处理)和Worker,通过CLI或SDK启动和管理。Temporal简化了分布式系统的可靠性设计,适合电商、自动化任务等场景。

木头 640

android view层次与位置大小

首先要明白,android的层次由摆放view的先后顺序决定,也就是addView中的index,0表示最下面,越大越上面,不会超过容器的包含的View个数,(因为是数组下标)。如下代码展示了如何交换两个ImageView的层次。

吴工的专栏 3万+

钉钉多维表格开发

从0到1完成钉钉多维表格开发SDK对接与实践案例。

沉修所长,勇逐新机;安而不怠,静而思变 3610

可拖动View

实现步骤 1.自定义view 实现拖动事件 package com.example.administrator.mydemo.dragview; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.Moti...

懒惰的四叶草的博客 756

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Android 悬浮在Activity内的可拖动View

开发中经常会遇到要做一个可以悬浮在页面内的View,以便展示活动或者提醒什么的,跳出页面悬浮的View就消失。一种方法是利用纯代码后台生成的方式,利用WindowManager和Imageview实现图片的悬浮。但是这种方法需要SYSTEM_ALERT_WINDOW权限,国内很多深度定制的系统,像MIUI,EMUI,Flyme等会把这个权限关闭。因此这些系统下面就显示不出来了,需要一直提醒用户去开

tyj244389820的博客 4174

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

android 可移动view,Android--自定义可拖动view

//该可拖动view主要是有两个imageview,一个用来隐藏该view,一个用来做正常的点击事件。public DragView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);LayoutInflater inflater = LayoutInflater....

weixin_31026805的博客 1084

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android 拖动的view,Android View 拖动效果

Android拖动实现很简单,主要就是实现OnTouchListener事件监听,获取到触碰点之后,重新设置View的位置即可。下面是这个例子的描述:首先点击create按钮,将会产生一个新的ImageView对象,然后移动新的ImageView到任何你想要去的地方。如下图:下面是源码:创建一个新的View,并添加到Window中:package com.mandr.test;import and...

weixin_42113552的博客 216

所有Activity界面可以拖动的浮动按钮

在自己的项目中实现的,没有做什么封装和通用性的使用,可用就行了。实现的原理就是采用一个通用的布局,利用ActivityLifecycle监听Activity的生命周期动态的添加和删除浮动按钮。 FloatButton 参考了一位大神的代码,忘了源码地址了。 package com.newbox.jnitest; import android.app.Activity; import androi...

weixin_33772645的博客 376

浮窗---创建Activity浮窗(可拖动)

浮窗---创建Activity浮窗(可拖动) 基于当前activity创建浮窗,生命周期与activity绑定,跳转至下一个activity将被遮盖 创建activity浮窗 【1】获取activity的根布局 activity的根布局是FrameLayout,其id为content FrameLayout rootLayout = getWindow().getDecorView().findViewById(android.R.id.content); 在main_activity..

桃子不出的博客 3746

自定义view跟手移动android,自定义View随手指拖动进行移动

package com.wuxinle.touchimageview.utils;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.support.annotation.Nul...

weixin_29696799的博客 256

Android 在所有应用的上层弹出可拖动的View

最近facebook在

liuhanhan512的专栏 2096

FrameLayout实现物体拖动效果

预备工作: 1、两张图片,一张背景图,一张拖动的图。 2、新建一个Android工程的,我的Activity名字为Activity_basketball,同时在同一个包下面新建一个java类,用于编写实现功能的相关代码,我拍的java类名字为basketball_view。 xml文件: FrameLayout xmlns:android="http://schemas.andr...

ljl优快云number的博客 516

可以拖动的 view

本文主要讲述一可以拖动动的view,这里讲述的是一个button 。这个场景我们应用最多的莫过于退居后台的音乐播放器,只有在桌面上显示一个操作器,而这个操作器是可以满屏拖动的。那么他们是如何实现的呢。Activity实现了OnTouchListener接口,覆写了onTouch方法,每次回调这个方法通过x和y变量记录当前的坐标。 ACTION_DOWN是在按下的时候调用(没抬起来只调用一次),通过

qq_35816104的博客 594

android 层进菜单,Android如何实现单页面浮层可拖动view

Android如何实现单页面浮层可拖动view发布时间:2021-04-16 12:26:52来源:亿速云阅读:76作者:小新这篇文章主要介绍Android如何实现单页面浮层可拖动view,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!需求是需要在一个已经存在的页面添加一个可拖动的浮层广告。使用到的技术:ViewDragHelper效果如图:封装好的类(继承自FrameLay...

weixin_30760143的博客 270

Android View随手指移动

package com.lcj.test; import android.content.Context; import android.graphics.Rect; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; public class TouchVie...

Geek的专栏 345

【Android 事件分发】MotionEvent.ACTION_DOWN 按下事件分发流程( Activity | ViewGroup | View )

二、Activity 的事件传递、 1、dispatchTouchEvent 方法事件传递机制、 2、onTouchEvent 方法事件传递机制、 三、ViewGroup 的事件传递、 1、dispatchTouchEvent 方法事件传递机制、 2、onInterceptTouchEvent 方法事件传递机制、 3、onTouchEvent 方法事件传递机制、 四、View 的事件传递、 1、dispatchTouchEvent 方法事件传递机制、 2、onTouchEvent 方法事件传递机制

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 4044
上一篇: View.OnLongClickListener 不响应DragEvent.ACTION_DRAG_ENTERED
下一篇: 【最佳android屏幕适配方案】
lizz821
博客等级 码龄12年 11粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值