设为首页 加入收藏

TOP

Android 动态移动控件实现
2014-11-24 02:56:10 来源: 作者: 【 】 浏览:1
Tags:Android 动态 移动 控件 实现

在一些界面上,我们可能需要实现可以移动的按钮等功能,最简单的方式是调用View.layout(),任何布局上的空间都可以支持这种方式移动,上下左右参数值是相对于父viewgroup而言的。


public void layout(int l, int t, int r, int b)
eg.
button.layout(newLeft, newTop, newRight,newBottom);


但是这种方式有个缺陷就是,当同一个viewgroup中有控件更新(界面刷新)时,移动的控件会复位,即回到一开始的位置,这常常会让人莫名其妙。



另外一种方法是调用MarginLayoutParams.setMargins(),重新设置控件位置参数来实现控件移动效果。这种方式比较适合RelativeLayout、FrameLayout,AbsoluteLayout,对于LinearLayout,因为最后增加的控件总在最下或最右,所以达不到移动效果,TableLayout也不行。


public MarginLayoutParams(MarginLayoutParams source)
eg.
FrameLayout.LayoutParams btnLp = (FrameLayout.LayoutParams)button.getLayoutParams();
btnLp.setMargins(newLeft, newTop, newRight, newBottom);
button.requestLayout();


推荐阅读:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言中简单的for循环和浮点型变量 下一篇Java 应用异常使用简单原则

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: