通过代码改变控件的布局
Posted yanglang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过代码改变控件的布局相关的知识,希望对你有一定的参考价值。
在安卓代码编写过程中,一般都是通过xml的形式来规划界面组件的布局,然后在对应的activity的子类中通过id找到相对应的控件。但出于何种各样的需要,我们需要通过代码来改变控件的位置,可以通过如下的两种方式来改变:
一. 通过view的layout(left,right,top,down)来改变的。可以用view的getLeft,getRight,getTop,getBotton方法来获取Left,Right,Top,Botton的值,然后加上算出的偏移 (event.getRawX())得到改变后的Left,Right,Top,Botton的值.
二. 通过view.setLayoutParam()的方式来设置view在父布局中的布局参数。
ps:整个View的制作过程,分为onMeasure->onLayout->onDraw,在窗口的oncreate方法中,不要用第一种方式,因为view可能都没有绘制出来,就不可能改变位置,只能通过方式二,通过设置从布局参数的方式,让view完全后重新调整布局参数。
以上是关于通过代码改变控件的布局的主要内容,如果未能解决你的问题,请参考以下文章
MFC, SDI app, 为啥视图的布局不能通过代码改变?