首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用com.jmedeisis.draglinearlayout.DragLinearLayout在拖放后保存textView位置

com.jmedeisis.draglinearlayout.DragLinearLayout是一个开源的Android库,用于实现在拖放操作后保存TextView的位置。它提供了一个可拖拽的LinearLayout,可以让用户通过拖动来重新排列其中的子视图。

使用DragLinearLayout实现拖放后保存TextView位置的步骤如下:

  1. 首先,在你的Android项目中添加DragLinearLayout库的依赖。可以通过在项目的build.gradle文件中添加以下代码来引入该库:
代码语言:groovy
复制
implementation 'com.jmedeisis:draglinearlayout:1.2.1'
  1. 在你的布局文件中使用DragLinearLayout作为父容器,将需要拖放的TextView添加为其子视图。例如:
代码语言:xml
复制
<com.jmedeisis.draglinearlayout.DragLinearLayout
    android:id="@+id/dragLinearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView 1" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView 2" />

    <!-- 添加更多需要拖放的TextView -->

</com.jmedeisis.draglinearlayout.DragLinearLayout>
  1. 在你的Java代码中,获取DragLinearLayout实例,并设置拖放监听器。在监听器中,可以通过保存拖放后的位置信息来实现保存TextView位置的功能。例如:
代码语言:java
复制
DragLinearLayout dragLinearLayout = findViewById(R.id.dragLinearLayout);
dragLinearLayout.setOnViewSwapListener(new DragLinearLayout.OnViewSwapListener() {
    @Override
    public void onSwap(View firstView, int firstPosition, View secondView, int secondPosition) {
        // 保存拖放后的位置信息,可以使用SharedPreferences或其他方式进行保存
        // 例如,可以将位置信息保存到一个List中,然后将该List保存到SharedPreferences中
    }
});

在上述代码中,通过设置OnViewSwapListener监听器,可以在拖放操作完成后获取到拖放前和拖放后的TextView视图以及它们的位置信息。你可以根据自己的需求,将位置信息保存到SharedPreferences或其他适合的存储方式中。

总结:

com.jmedeisis.draglinearlayout.DragLinearLayout是一个用于实现在拖放后保存TextView位置的Android库。通过添加DragLinearLayout作为父容器,并设置拖放监听器,可以实现拖放操作后保存TextView位置的功能。具体的实现步骤包括添加库的依赖、在布局文件中使用DragLinearLayout作为父容器,以及在Java代码中设置拖放监听器并保存位置信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【react-dnd使用总结一】拖放完成后获取放置元素在drop容器中的相对位置

工具函数-根据元素的起始位置和最终位置,计算相对于某元素的位置 export interface IPosition { left: number; top: number; } /** *...根据元素的其实位置和最终位置,计算相对于某元素的位置 * @param initialPosition 拖动元素相对于屏幕左上角的起始位置(偏移量) * @param finalPosition 拖放完成后当前节点相对于屏幕左上角的位置...drop容器的位置. // finalY > initialY, 则视为向下拖拽, 否则是向上拖拽 const newYposition = finalY > initialY...finalX) - dropTargetPosition.left; return { left: newXposition, top: newYposition, }; }; 在drop...(偏移量) monitor.getSourceClientOffset(), // 拖放完成后当前节点相对于屏幕左上角的位置 document.querySelector('#container

4.3K10
  • Android 使用代码实现一个选词(拖拽)填空题

    optionPosition = getOptionPosition(optionContent); // 开始拖拽后在列表中隐藏答案选项 v.setVisibility(INVISIBLE...,我们为每个Button都设置了一个长按监听事件,下面来看看它是如何工作的,首先获取到当前拖拽选项上的答案,作为参数进行传递,然后记录选项的位置,这个是为了当拖拽未完成时,重新显示选项用的,最后在列表中隐藏当前拖拽的选项...别担心,在TextView中我们可以获取到每一个字符的坐标,当放开拖拽选项的时候,判断一下是不是处于某一个填空区域就大功告成了,别忘了还有填空处跨行的问题需要特殊处理一下。...到达指定位置后,我们就要把选项中的答案填到题目中了,接下来该轮到fillAnswer方法大显身手了: /** * 填写答案 * * @param answer 当前填空处答案 * @param...在效果图中我们可以看到,当填空完成后,触摸填空处还可以继续拖拽的,继续往下看: ?

    74820

    Android-ConstraintLayout详解

    app:layout_editor_absoluteX 这个是TextView在界面中的纵轴和横轴的绝对坐标,没有,删除就行了。...大家看到TextView上下左右四个小空心圆点了吧,我们就是通过这个空心圆点给每个控件添加约束,每个控件的约束都分为垂直和水平两类,一共可以在四个方向(上下左右)上给控件添加约束。...在Inspector中有一个纵向的轴和一个横向的轴,这两个轴也是用于确定控件的位置的。如果调整了纵横轴的比例,那么TextView的位置也会改变....,然后确定位置,添加约束。...6.Guideline  这个Guideline,我们在拖拽实现的时候讲过,Guideline被用来添加一个垂直或水平方向上的辅助线,然后我们以此来确定控件的摆放位置,我们先说一下相关的属性: android

    1.8K10

    Android Studio 教程:创建 Android 应用

    在获得基本确认后,您当然可以使其功能更加丰富。 我们将使用 Android development studio,并逐步解释如何使用它。本教程还使用图像来确定您需要执行的操作。...如何使用 Android Studio 创建 Android 应用程序 在 Studio 中创建 Android 应用程序 启动 Android development studio 在上面的屏幕上,...在正文中,tab复制以下代码。 以下 .xml 文件是 MainActivity 的布局文件。您可以在此处创建交互式 UI。...该文件有一个 TextView 和一个按钮,可以通过从左侧面板拖放方法将其带到设计屏幕。 练习: 尝试在示例屏幕中放置各种元素。 后,我们会看到一个祝酒词(一条显示“按钮已单击!”的短消息)。

    2.3K20

    简单高效的实现 Android App 全局字体替换

    为了能够在API 14或者以上的设备上使用Fonts in XML特性,我们需要使用到Support Library 26。更多的内容可以参考「使用Support Library」小节。...将字体文件拖放到新的 res / font 文件夹中。Android O支持 .otf(OpenType) 和 .ttf(TrueType) 两种格式的字体文件。 ?...布局中使用字体资源 给TextView添加字体 在XML布局文件中,将fontFamily设置为你想要的访问的字体文件: TextView android:layout_width="wrap_content...使用代码控制字体 Typeface typeface = getResources().getFont(R.font.myfont); textView.setTypeface(typeface); 使用...在Android Support Library 26.0-beta1中,必须同时使用android和app命名空间进行声明,以确保在Android O版本及以下设备上字体能够被正确加载。 <?

    4.1K90

    前端拾零02—H5拖放总结

    拖放总览 前端拖放,无非通过两种方式:1、js鼠标事件监听,动态改变坐标位置;2、H5原生api。随着H5的普及,推荐使用相对简单的H5原生api实现拖放功能。...目标元素 3.1 目标元素监听事件 ondragenter: 拖放元素进入目标元素时触发事件,作用于目标元素 ondragover: 拖放元素在目标元素上移动时触发事件,作用于目标元素 ondrop:...拖放元素在目标元素上放置时触发事件,作用于目标元素 ondragleave: 拖放元素离开目标元素时触发事件,作用于目标元素 3.2 demo <div id="div1" ondragenter="dragenter...Event.dataTransfer Event.dataTransfer: 拖放对象数据传递媒介,保存在dataTransfer对象中的数据只能在drop事件处理程序中读取 Event.dataTransfer.dropEffect...: 指定拖放视觉效果,只有搭配effectAllowed属性才会生效,在dragenter中设置 (1) none: 不能拖放(除文本框外所有元素的默认值) (2) move: 移动拖放元素 (3) copy

    4.2K730

    【实战技巧】VUE3.0实现简易的可拖放列表排序

    ---- 项目地址 项目地址点击进入,可以直接设置为浏览器主页或者桌面快捷方式进行使用,本人在用,长期维护。 源码地址 完全开源,大家可以随意研究,二次开发。...所以我就想添加一个拖拽排序的功能,在编辑模式下,可以通过拖拽图标进行排序,退出编辑模式自动保存,这样就解决了上面的问题,优化了用户体验。 下面就详细记录一下此功能的实现。...HTML拖放接口 首先还是先学习一下API 官方介绍 HTML 拖放(Drag and Drop)接口使应用程序能够在浏览器中使用拖放功能。...在dragstart中记录下旧的索引 在dragover中记录下新的索引,每次经过一个都会更新 在drop事件中处理数组,删掉旧的元素,在目标索引添加新的元素 //简略后的伪代码 详情请查看源码 { // 删除老的 const changeItem = marks.value.splice(oldItemIndex, 1)[0]; // 在列表中目标位置增加新的

    2.1K40

    Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—3)

    让我们一起看看吧~ geometry属性 geometry属性保存组件相对于其父级对象的位置和大小,Qt实际上是以一个长方形来表示组件的位置和大小的,包括左上角的坐标位置、长和宽。...,在Qt Designer中可以通过属性acceptDrops设置部件是否接受鼠标拖放事件。...如果部件接受拖放,则在鼠标拖放时,拖放事件会发送给鼠标当前光标下接受拖放的第一个部件。 如果组件设置了acceptDrops属性为True,则就是通知系统该组件可接受鼠标拖放事件。...statusTip属性 statusTip属性保存statusTip提示信息,statusTip提示信息在鼠标放到控件上时在窗口的状态栏显示提示信息,如果窗口无状态栏则不显示。...whatsThis的帮助信息一般在组件获得焦点后按Shift+F1弹出显示,如果这个快捷键被别的功能占用,则whatsThis的帮助信息可能无法展示。

    5.8K50

    H5拖放原生js将图片拖放另外一个元素里

    1:什么是拖放? 拖放是一种常见的特性,即抓取对象以后拖到另一个位置。...在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放 2:元素的可拖放 draggable 属性设置为 true 3:元素中的拖放事件 通过拖放事件...其中最关键的地方在于确定那里发生了拖放事件,有些事件是在被拖动的元素上触发的,而有些事件是在放置目标上触发的。...按下鼠标键并开始移动鼠标时,会在被拖放的元素上触发dragstart事件。 触发dragstart事件后,随即会触发drag事件,而且在元素被拖动期间会持续发送该事件。...接下来,我们说拖放图片的事例。要求是这样的:有两个body里面有两个空div,几张img。我们要实现的是让图片可以随意拖放进入div里面,img在div里面可以随便更改位置。

    2.1K30

    前端拾零02—H5原生拖放总结 【原创】

    拖放总览 前端拖放,无非通过两种方式:1、js鼠标事件监听,动态改变坐标位置;2、H5原生api。随着H5的普及,推荐使用相对简单的H5原生api实现拖放功能。...目标元素 3.1 目标元素监听事件 ondragenter: 拖放元素进入目标元素时触发事件,作用于目标元素 ondragover: 拖放元素在目标元素上移动时触发事件,作用于目标元素 ondrop:...拖放元素在目标元素上放置时触发事件,作用于目标元素 ondragleave: 拖放元素离开目标元素时触发事件,作用于目标元素 3.2 demo <div id="div1" ondragenter="dragenter...Event.dataTransfer Event.dataTransfer: 拖放对象数据传递媒介,保存在dataTransfer对象中的数据只能在drop事件处理程序中读取 Event.dataTransfer.dropEffect...: 指定拖放视觉效果,只有搭配effectAllowed属性才会生效,在dragenter中设置 (1) none: 不能拖放(除文本框外所有元素的默认值) (2) move: 移动拖放元素 (3

    1.9K20

    Android TextView 属性大全

    选项editable 类似于StringBuilder可追加字符, 也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式。...省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间; ”marquee” ——以跑马灯的方式显示(动画横向移动) android:freezesText设置保存文本的内容以及光标的位置...此属性在EditView中使用,但是这里也可以用。...如”1.2” android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。...android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。

    2.6K30

    一文学会所有 Android TextView 属性,妈妈再也不担心我的代码写不好了!

    选项editable 类似于StringBuilder可追加字符, 也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式。...省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间; ”marquee” ——以跑马灯的方式显示(动画横向移动) android:freezesText设置保存文本的内容以及光标的位置...此属性在EditView中使用,但是这里也可以用。...如”1.2” android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。...android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。

    1.8K20

    跟我学Android之六 布局

    为0时,视图大小由自身确定,当layout_weight大于0时,视图在线性布局方向上根据比重拉伸 ​相对布局​ 相对布局是一种通过设置相对位置进行的布局,相对布局使用标签进行配置...,对应代码中的类是android.widget.RelativeLayout,布局中的视图通过设置相互间的相对位置进行排列,相对的排列位置,相对的对齐方式;相对布局使用拖放式比较方便。...相对布局内视图可用的常用属性如下: 与位置相关的属性 android:layout_above 表示在目标组件之上 android:layout_below 表示在目标组件之下 android...,布局中的视图按照书写的先后顺序排列,先加入的显示在底层,最后加入的显示在顶层,每一个视图都可以针对布局容器设置摆放位置 帧布局的常用属性 android:foreground 用于表示帧布局最顶层的覆盖层...android:layout_width="match_parent" android:layout_height="match_parent" > TextView

    12510

    Excel880 VBA代码助手专业版正式发布OFFICE+WPS均可用 兼容32+64 鼠标中键快捷插入代码

    以前的老朋友应该会很快上手,操作体验基本和老版代码助手一致,主要是改进了稳定性和保存速度,新朋友请认真阅读使用说明书,自己多多体会,相信也能很快入手。...【Alt+2】 呼出代码管理面板,可以在快捷插入菜单点击调出管理面板 窗口布局介绍 搜索栏:面板左上角 树节点窗口:面板左侧中间 代码窗口:面板右侧 快捷菜单:在代码窗口任意位置,鼠标中键单击后者Alt...节点窗口中,拖拽节点可以排序,可跨节点跨级别拖放,注意拖放操作是即时保存,请大改前提前备份代码库 树节点窗口【鼠标右键】弹出菜单,功能如下【修改名称,新建同级,新建下级,新建节点 收藏模块,收藏函数...,收藏选择,删除节点,全部折叠,全部展开】 本工具默认都在所选的节点下方进行操作 代码名称或者内容修改后请点击保存代码库,这些操作非实时保存 注意窗体模块保存后不要修改,会造成无法插入,需要备注可在标签栏填写...注册激活 安装后会获得7天全功能VIP版试用期 到期后可点击菜单栏注册按钮,在弹出注册窗口中按提示,微信扫码关注公众号EXCEL880,回复注册码即可得到激活码,公测期间激活正式版到2019-11-30

    3.6K20

    Unity3D入门Demo-Cube移动-触发球体-切换场景

    里面 测试运行 新建Unity3D项目–选择3D类型 在 Hierarchy面板下,单击鼠标右键,选择 UI–>Button 创建一个按钮,会自动创建Canvas 调整Button的位置到屏幕正中间,修改...Hierarchy 面板下的Cube游戏物体上 创建返回按钮并配置逻辑,保存Game场景 在 Hierarchy面板下,单击鼠标右键,选择 UI–>Button 修改Button按钮的位置到屏幕上面,...中间位置,调整大小 修改Text文字内容为“返回主菜单” 选中Button,选择右侧Inspector面板下面,OnClick下面的加号,将场景中的ChangeScenes拖放到RuntimeOnly...” 同样的方法,在 Hierarchy 面板下 右键Create Empty ,创建空的GameObject ,修改名称为 ChangeScenes,同样的方式将ChangeScenes.cs脚本拖放到...游戏物体上,填写SceneName变量处填写Menu 同上面的方法,添加Button按钮的点击触发 保存场景,命名为Lose 将场景添加到BuildSettings里面 选中4个场景,或者一个一个选择拖放

    1.4K10

    C#实现树型结构TreeView节点拖拽的简单功能(转)

    http://www.cnblogs.com/jirigala  例子程序运行效果如何下   当然在节点拖拽时,需要注意几个事情:    1:拖拽时总需要有提示信息比较好,防止误操作后找不到被托摘到哪里去了...,并将拖放的效果设置成移动。                 ...                TreeNode targetTreeNode;                 // 获取当前光标所处的坐标                 // 定义一个位置点的变量...,保存当前光标所处的坐标点                 Point point = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));                 ...// 根据坐标点取得处于坐标点位置的节点                 targetTreeNode = ((TreeView)sender).GetNodeAt(point);

    3.2K10

    TextView自定义下划线、点击弹框

    立马会想到使用TextView的fromHtml方法,给添加笔记的文本手动加标签,或者使用SpanString类的相关方法设置标签。 但是!...要实现以上需求,应该从这几个方面入手: 文本展示,普通文本调用TextView的setText方法既可,如果是富文本,就使用TextView的fromHtml方法,至于图片如何展示,我在上一篇文章用TextView...在TextView的onTouchEvent判断按下位置是否是笔记图标(小圆圈)的附近,是的话则弹框(PopupWindow)显示。...如果是最后一行的,在本行的结束位置开始绘制笔记图标。 使用canvas.drawCircle绘制圆圈,而圆的圆形坐标可以下划线最后的位置进行绘制。...在上一步绘制小图标时,就将图标的x和y值保存,在onTouchEvent中,判断按下的位置是否在小图标位置的“附近”,是的话就弹框显示笔记内容。

    1.5K30
    领券