我是android编程的新手。
我发现xml不是设置布局的唯一方法。所以,我试图理解以编程方式设置布局。我一直试图改变按钮的位置。如何设置布局重力以使按钮位于预期的轴上,比如bottom
和center
?
顺便说一下,icicle
与savedInstanceState
相同吗?
这是我偶然发现的编码。 你能否告诉我设定引力的正确方法?
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
LinearLayout one = new LinearLayout(this);
myButton1 = new Button1(this);
one.addView(myButton1,
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
0));
myButton2 = new Button2(this);
one.addView(mButton2,
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
0));
setContentView(one);
答案 0 :(得分:4)
我想,你正在寻找
LinearLayout one = new LinearLayout(this);
one.setGravity(Gravity.BOTTOM | Gravity.CENTER); //to show LinearLayout gravity
Button myButton1 = new Button(this);
one.addView(myButton1,
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
0));
myButton1.setText("First");
myButton1.setGravity(Gravity.CENTER); //to show text gravity in button
Button myButton2 = new Button(this);
one.addView(myButton2,
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
0));
myButton2.setText("Second");
myButton2.setGravity(Gravity.CENTER); //to show text gravity
setContentView(one);
icicle
有时被用作参数的名称。它只是一个 其中一个形式参数onCreate的占位符采用一个Bundle参数。这取决于你怎么称呼它。
LinearLayout的一些属性https://stackoverflow.com/a/19065951/2826147
答案 1 :(得分:1)
您需要使用setGravity()
,
例如button.setGravity(Gravity.CENTER | Gravity.BOTTOM);
答案 2 :(得分:1)
yourLinearLayout.setGravity(Gravity.BOTTOM);
简单就是那个