不知道各位在做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轴的值,实例化的时候就已经为控件定义了大小,那基本上,一个控件的位置就定下来了。

更多相关文章

  1. Tiny4412——Android访问硬件的方法
  2. 你不知道的 Android(安卓)WebView 使用漏洞
  3. 在Android中加载并使用opencv的方法
  4. 基于 Android(安卓)NDK 的学习之旅-----HelloWorld
  5. AIDL使用以及原理分析
  6. ios开发之ios中控件
  7. Mono for Android(安卓)(1) 之布局
  8. Android(安卓)pm命令 以及在终端安装卸载安装包方法
  9. Android(安卓)Studio开发之 JNI 篇

随机推荐

  1. java android 获取手机操作系统相关信息
  2. android 跳转并传递参数
  3. android通知栏响应事件
  4. Android获取GPS进行定位的工具类
  5. android listview 滚动时异步加载图片的
  6. Android之File内部存储和File外部存储
  7. android studio 55[2]线程更新UI handler
  8. 记一次BottomNavigationView使用踩坑
  9. android opengl es 混合效果
  10. Android(安卓)从后台进入前台