Android,View設定margin
阿新 • • 發佈:2019-01-22
Android的view中有setPadding,但是沒有直接的setMargin方法。如果要在程式碼中設定該怎麼做呢?
可以通過設定view裡面的 LayoutParams 設定,而這個LayoutParams是根據該view在不同的GroupView而不同的。
這裡的RelativeLayout是說明該view在一個RelativeLayout裡面。ImageView image = (ImageView) findViewById(R.id.main_image); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(image.getLayoutParams()); lp.setMargins(50, 100, 0, 0); image.setLayoutParams(lp);
可以把設定margin的方式封裝成方法,只要是GroupView裡面的LayoutParams 即可。
一勞永逸。public static void setMargins (View v, int l, int t, int r, int b) { if (v.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) { ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) v.getLayoutParams(); p.setMargins(l, t, r, b); v.requestLayout(); } }