我想在我的Android应用程序中添加一些ui元素,例如Button! 但我找不到完整的教程!经过大量搜索,我发现了这段代码:
LinearLayout ll = (LinearLayout)findViewById(R.id.layout);
Button btn = new Button(this);
btn.setText("Manual Add");
btn.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
ll.addView(btn);
我的第一个问题是第一线!你能帮我解释一下吗?什么是R.id.layout
?我知道R
是资源的对象,但我不知道什么是布局!
第二个问题是第3行,什么是LayoutParams?
谢谢大家!
答案 0 :(得分:1)
LinearLayout ll = (LinearLayout)findViewById(R.id.layout);// you are getting a refrence to your layout
Button btn = new Button(this); // creating a new object of button type
btn.setText("Manual Add"); //setting the button text
btn.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT)); //setting the width and height of the element
ll.addView(btn);//adding the button to your layout
R.id.layout是您的活动布局的名称
答案 1 :(得分:1)
您可以使用默认构造函数创建视图,例如
Button button = new Button(context);
之后,您应确定要将哪种类型的父视图附加到其中,并创建相应的layot参数。每个父视图LayoutParams类型都有uniqe自定义方法,例如RelativeLayout.LayoutParams的规则。
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(width, height)
//customize params here
button.setLayoutParams(params)
将视图附加到父视图
frameLayout.addView(button)
就是这样。
答案 2 :(得分:0)
您要添加视图的父视图。在您的示例中,它是名为layout
的LinearLayout。