大家都知道在XML文件中配置组件之间的间隔很容易,通过android:layout_margin就能很容易的调整上下左右组件的间隔。
但是在Java代码中,通过代码创建的View就无法使用到XML中的android:layout_margin功能这时候,View本身并没有setMargin的方法。
而View提供了 void android.view.View.setLayoutParams(LayoutParams params)可以 设置View的参数,而LayoutParams中有个void android.view.ViewGroup.MarginLayoutParams.setMargins(int left, int top, int right, int bottom) 方法,我们通过这个LayoutParams提供的方法就可以为View设置Margin属性了。
ImageView imageView = new ImageView(MainActivity.this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(15,15);
params.setMargins(5, 0, 0, 0);
imageView.setLayoutParams(params);
android:layout_marginLeft指该控件距离边父控件的边距,
android:paddingLeft指该控件内部内容,如文本距离该控件的边距。