转--Android如何在java代码中设置margin
?
?
?
?
?
?
======== ?3?
在Java代碼里設置button的margin(外邊距)?
1、獲取按鈕的LayoutParams
LinearLayout.LayoutParams?layoutParams?=?(LinearLayout.LayoutParams)button.getLayoutParams();
2、在LayoutParams中設置margin
layoutParams.setMargins(100,20,10,5);//4個參數按順序分別是左上右下
3、把這個LayoutParams設置給按鈕
button.setLayoutParams(layoutParams);?
=========== ?2
怎樣用java代碼生成按鈕并設置它的位置啊?
給你寫個最簡單的吧,其實和XML布局是一樣的。都是在LinearLayout、RelativeLayout這些布局中加控件,不同的是java代碼都是new 出來的對象。
例子:
LinearLayout layout = new LinearLayout(context);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setPadding(0, 0, 0, 0);
layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
Button btn = new Button(context);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(0, 0, 0, 0);
btn.setLayoutParams(params);
layout.addView(btn);
?
============= 1
http://www.2cto.com/kf/201207/140111.html
紅黑聯盟:
?
習慣了直接在xml里設置margin(距離上下左右都是10dip),如:
?<ImageView android:layout_margin="10dip" ?android:src="@drawable/image" />
只是有些情況下,需要在java代碼里來寫。
?
API中,android.view.ViewGroup.MarginLayoutParams有個方法setMargins(left, top, right, bottom)。
可是View本身沒有setMargin方法,怎么辦呢?
看見API上,其直接的子類有:
FrameLayout.LayoutParams, ? LinearLayout.LayoutParams and ?RelativeLayout.LayoutParams。
我們我們可以這樣寫:
ImageView ?imageView = = new ImageView(getContext());
LinearLayout.LayoutParams ?lp ?= new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1);? // , 1是可選寫的
?
lp.setMargins(10, 20, 30, 40);?
imageView.setLayoutParams(lp);?
==================
?
轉載于:https://www.cnblogs.com/awkflf11/p/4330825.html
總結
以上是生活随笔為你收集整理的转--Android如何在java代码中设置margin的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于儿子生日回不回老家的问题和老公冷战了
- 下一篇: 求一个好听的小孩名字!