Android日记之2012\01\13
16lz
2021-01-24
不知道各位在做Android码农的同僚们有没有遇到过这种情况,就是我想要在Activity的代码中为控件设定位置,但是苦于找不到设定Margin的方法。
我今天就遇到了这样的情况,知道用LayoutParams可以设定大小,但是试了几个常用的 LinearLayout.LayoutParams,RelativeLayout.LayoutParams等等,最后还是把布局文件改成 AbsoluteLayout,并且用了AbsoluteLayout.LayoutParams。因为它在实例化的时候可以设定长宽和XY坐标。但可惜的是,在Android2.2的时候,google就不提倡大家使用AbsoluteLayout.LayoutParams了,所以这个方法并不好。
我们都知道,在XML布局文件中,我们设定控件的位置都是通过android:margin来设定的,那这个margin又在Android中的什么位置呢?
public static classViewGroup.MarginLayoutParams extends ViewGroup.LayoutParams
原来在ViewGroup中,从文档中再看看其方法,实例化的时候需要传入width和height,还有个公共方法setMargin,需要传入int left, int top, int right, int bottom。其实,后面两个值基本上可以无视了,因为left和top就代表了控件的XY轴的值,实例化的时候就已经为控件定义了大小,那基本上,一个控件的位置就定下来了。
我今天就遇到了这样的情况,知道用LayoutParams可以设定大小,但是试了几个常用的 LinearLayout.LayoutParams,RelativeLayout.LayoutParams等等,最后还是把布局文件改成 AbsoluteLayout,并且用了AbsoluteLayout.LayoutParams。因为它在实例化的时候可以设定长宽和XY坐标。但可惜的是,在Android2.2的时候,google就不提倡大家使用AbsoluteLayout.LayoutParams了,所以这个方法并不好。
我们都知道,在XML布局文件中,我们设定控件的位置都是通过android:margin来设定的,那这个margin又在Android中的什么位置呢?
public static classViewGroup.MarginLayoutParams extends ViewGroup.LayoutParams
原来在ViewGroup中,从文档中再看看其方法,实例化的时候需要传入width和height,还有个公共方法setMargin,需要传入int left, int top, int right, int bottom。其实,后面两个值基本上可以无视了,因为left和top就代表了控件的XY轴的值,实例化的时候就已经为控件定义了大小,那基本上,一个控件的位置就定下来了。
更多相关文章
- Tiny4412——Android访问硬件的方法
- 你不知道的 Android(安卓)WebView 使用漏洞
- 在Android中加载并使用opencv的方法
- 基于 Android(安卓)NDK 的学习之旅-----HelloWorld
- AIDL使用以及原理分析
- ios开发之ios中控件
- Mono for Android(安卓)(1) 之布局
- Android(安卓)pm命令 以及在终端安装卸载安装包方法
- Android(安卓)Studio开发之 JNI 篇