androidstudio图片居中_android 在代码中设置布局居中layout_gravity,layout_margin的方法...
在代碼中設置布局居中,翻看api可以知道view中有setGravity,setPadding,但是沒有直接的setLayoutGravity,setMargin等方法。下面將在代碼中實現類似布局中layout_gravity,layout_margin的方法。
可以通過設置view里面的LayoutParams 設置,而這個LayoutParams是根據該view在不同的GroupView而不同的。
1、代碼中設置layout_gravity
LinearLayout?layoutTop=(LinearLayout)?findViewById(R.id.layout_top);
FrameLayout.LayoutParams?params?=?new?FrameLayout.LayoutParams(layoutTop.getLayoutParams());
params.gravity?=?Gravity.CENTER_VERTICAL;
layoutTop.setLayoutParams(params);
這里的FrameLayout、LinearLayout是說明該view在一個FrameLayout或LinearLayout里面,具體得看自己的布局,這個地方有可能會報錯,比如圖中這樣的錯誤。錯誤很明顯,這也很好解決,只需要按照提示將屬性改為相應的即可。
2、代碼中設置layout_margin
ImageView?image?=?(ImageView)?findViewById(R.id.img_icon);
LinearLayout.LayoutParams?lp?=?new?LinearLayout.LayoutParams(image.getLayoutParams());
lp.setMargins(10,?20,?0,?0);
image.setLayoutParams(lp);該方法可以封裝為:
public?static?void?setMargins?(View?view,?int?left,?int?top,?int?right,?int?bottom)?{
if?(view.getLayoutParams()?instanceof?ViewGroup.MarginLayoutParams)?{
ViewGroup.MarginLayoutParams?p?=?(ViewGroup.MarginLayoutParams)?view.getLayoutParams();
p.setMargins(left,?top,?right,?bottom);
view.requestLayout();
}
}
總結
以上是生活随笔為你收集整理的androidstudio图片居中_android 在代码中设置布局居中layout_gravity,layout_margin的方法...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个人搭建手游联运系统难吗?
- 下一篇: 《软件工程》知识点整理