Android 在 Java 代碼中實現佈局

今天看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 <)
Layout手機截圖


發佈了39 篇原創文章 · 獲贊 70 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章