Android拖动,缩放,自定义内容,控件制作(可拖动缩放RelativeLayout定制) |
您所在的位置:网站首页 › android改变控件大小的方法 › Android拖动,缩放,自定义内容,控件制作(可拖动缩放RelativeLayout定制) |
先上效果图:
一. 制作此控件的起源 项目需要一个可以拖动的控件,在网上可以找到很多例子,有图片拖动控件,有textview拖动控件。但是项目中需要控件同时可以动态通过手指调整尺寸,并且控件的内容不固定,需要自定义内容,即可以添加任意内容到拖动控件内。因此,编写此控件。 二. 根据需求做技术分析 1. 可拖动+调整尺寸:view的(scrollTo、scrollBy),设置LayoutParams,覆盖layout方法 2. 自定义内容:需要自定义的控件内存放其他控件,则需要自定义控件继承ViewGroup(LinearLayout、ReletiveLayout) 三. Android自定义控件所需基础知识 a 位置坐标: 屏幕左上角是坐标原点(0,0),原点向右延伸是x正轴方向,原点向下延伸是y轴正方向 自定义控件的坐标位置是相对于父控件的:getTop()、getBottom(),getLeft(),getRight(),这几个函数用于获取自定义view在父布局坐标系的位置。 b 触摸感知 继承onTouchEvent,获取用户对自定义控件的触摸事件(down,move,up) 根据触摸的位置event.getX(),event.getY(),以及其他位置,判断要执行的的操作。包括根据位移移动,根据位移缩放。根据位移判断是否到达边界。 c 自定义控件父类选择 由于需求中控件里面的内容不定,即可以动态添加任意类型的Android控件到自定义的控件里面,因此这个自定义控件不能通过继承View实现,需要继承ViewGroup来实现,为了使用一些布局功能,最后项目选定继承ViewGroup的子类RelativeLayout,以实现动态添加任意多个任意类型的View控件。 c 移动控件 上文提到移动控件的三个方法:view的(scrollTo、scrollBy), 设置Lay |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |