今天看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 <)