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

Android开发(13) 移动View

概述 我们常用的linearlayout,等都属于流布局,在流布局中如何移动控件呢? 我决定做个尝试。虽然可以使用绝对布局,但我不倾向使用这个布局。那么看看我的方式吧。 ?...我们就用来它来控制控件的位置,改动它的值将会产生移动的效果。...我们先获得该控件的 布局参数 然后转型为ViewGroup.MarginLayoutParams 更改margin的数值,通过更改 该控件的上下左右偏移量(相对于父容器控件的原点),来更改控件的呈现位置...通过上面的方式,我们可以产生控件移动的效果。 ScrollBy方式 同时,我们了解下 ScrollBy这个方法,该方法可以产生控件的滚动效果。而看起来移动了该控件的子内容。...; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup

67000
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android控制view的大小和位置(一)

    1.首先,我们已经知道通过addView这个方法可以动态的添加自己新建的一个view,例如activityLayout.addView(new Button());这样就可以添加一个新的button,而且在添加时可以规定新的...view位置和大小,通过RelativeLayout.LayoutParams控制,例如 RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams...的自身高度的规则,不仅如此,还能够设置在父容器中位置,如 lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); lp.addRule(RelativeLayout.ALIGN_PARENT_TOP...); 这样就规定一个只能在父容器右上方添加view的规则,十分方便。...2.如果添加之后还想改变某个view的大小和位置,那么就通过setLayoutParams,参数仍为RelativeLayout.LayoutParams 3.如果想改变view在层次,如想把某个button

    1.4K40

    Android中View位置和触摸事件详解

    View类,这意味着View本身就可以代表简单的和复杂的所有控件和布局,通过这种关系,就形成了View树的结构。...本文Demo都是在自定义View中进行的,文末有下载链接 View位置参数 MotionEvent屏幕触摸事件 GestureDetector手势检测(单击,双击,长摁,滑动) 二、View位置参数...左上角坐标 translationX、translationY:相对于父容器的偏移量(有get/set方法),正数往右,负数往左 注意:View在平移过程中,原始位置不会改变。...y = event.getY(); break; case MotionEvent.ACTION_MOVE: Log.e(TAG, "onTouchEvent: " + "移动...跟随手指移动 实现方式:获取到当前手指按下的位置移动时要减去上次手指滑动的位置,然后在加上偏移量 存在问题:OnClick方法貌似没法用了哦,大概是因为在onTouchEvent方法中拦截了吧

    1.5K51

    浅谈移动View 的显示过程

    作者:个推安卓开发工程师 一七 随着科技的发展,各种移动端早已成为人们日常生活中不可或缺的部分,人们使用移动端产品工作、社交、娱乐……移动端界面的流畅性已经成为影响用户体验的重要因素之一。...那么你是否思考过移动端所展现的流畅画面是如何实现的呢? 本文通过对移动View显示过程的简略分析,帮助开发者了解View渲染的逻辑,更好地优化自己的APP。...放到合适的位置上。...之后,让我们进入到 layout() 方法中观察: [77b9294eb86a31c1a5910e16fa9e7829.png] 我们通过 setFrame() 方法给四个变量赋值,判断 View位置是否变化以及是否需要重新进行...在进入该方法后,我们可以发现里面是空的,这是因为子视图的具体位置是相对于父视图而言的,所以 View 的 onLayout 为空实现。

    68620

    View位置参数及其Scroller类的理解

    Anroid 自定义View View位置参数 ---- 1.位置参数 left = getLeft() right = getRight() top = getTop() bottom = getBottom...() x和y是View左上角的坐标,translationX和translationY是View左上角相对于容器的偏移量。...ACTION_MOVE:手指在屏幕上移动。 ACTION_UP:手指在屏幕上松开的一瞬间。 一个点击事件通常是:DOWN->UP 一个滑动事件通常是:DOWN->MOVE->MOVE->......getScaledTouchSlop(); 4.Scroller的使用理解 我们先来看一段套路代码: Scroller scroller = new Scroller(getContext()); //缓慢滚动到制定位置...总结一下就是,Scroller并不能实现View的滑动,它需要配合View的computeScroll()方法才能实现弹性滑动的效果,它不断让View重绘,而每一次重绘都会导致View进行进行小幅度滑动

    61240

    浅谈移动View 的显示过程 顶

    作者:个推安卓开发工程师 一七 随着科技的发展,各种移动端早已成为人们日常生活中不可或缺的部分,人们使用移动端产品工作、社交、娱乐……移动端界面的流畅性已经成为影响用户体验的重要因素之一。...那么你是否思考过移动端所展现的流畅画面是如何实现的呢? 本文通过对移动View显示过程的简略分析,帮助开发者了解View渲染的逻辑,更好地优化自己的APP。 ?...放到合适的位置上。...我们通过 setFrame() 方法给四个变量赋值,判断 View位置是否变化以及是否需要重新进行 layout,而且其中还调用了 onLayout() 方法。...在进入该方法后,我们可以发现里面是空的,这是因为子视图的具体位置是相对于父视图而言的,所以 View 的 onLayout 为空实现。 ?

    61120

    第127天:移动端-获取触摸点的位置

    一、移动端轮播图滑动 1、先获取手指在轮播图元素上的滑动方向(左右) (1)手指触摸开始时记录手指所在的坐标X (2)获取界面上的轮播图容器 var $carousels=$('.carousel')...next':'prev'); javascript代码 1 //移动端轮播图滑动 2 3 //1、先获取手指在轮播图元素上的滑动方向(左右) 4 //手指触摸开始时记录手指所在的坐标...next':'prev'); 40 41 42 43 } 二、移动端获取触摸点的方式说明 1.touchstart事件        手指头触摸屏幕上的事件 2.touchmove...touchstart、touchmove、touchend三种事件下的鼠标位置点获取: (1)touchstart事件下获取:e.originalEvent.targetTouches[0].pageX...由于手指头是多点触摸到屏幕上的我们所以e.originalEvent.targetTouches的 意思是一个手指触碰点集合我们只需要获取第一个点就可以了所以 e.originalEvent.targetTouches[0],所以位置

    1.5K20
    领券