今天看eoe的视频学习的布局,做个笔记。常见的是在res/layout/activity_xxx.xml
文件中实现Android界面布局,也可以在JAVA代码中实现布局,这种方法也是比较灵活,也比较常用。可以使用 LinearLayout.addView()
往一个Layout中添加控件。下面要在一个空的布局中添加5个按钮,第一步先修改xml文件,给根布局元素 LinearLayout 添加一个 id 以便在Java代码中调用。下面给出 xml 和 java 文件,我用的Android Studio。
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mainLayout"
android:orientation="vertical">
</LinearLayout>
MainActivity.java
package com.example.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
private Button btn;
private LinearLayout mainLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainLayout = (LinearLayout) findViewById(R.id.mainLayout);
for (int i=0; i<5; i++) {
btn = new Button(this);
btn.setText("Button "+i);
//mainLayout.addView(btn);
mainLayout.addView(btn, -2,-2);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mainLayout.removeView(view);
}
});
}
}
}
上述代码中使用for循环创建5个Button,并设置了显示文字,addView()有多种参数设置,下面是给每个Button都设置一个监听事件,一旦点击某个Button,就把该按钮去掉。
下面是我的手机截图,那个按钮看着是一大块,其实是五个按钮连在一起了(> o <)