1. 程式人生 > >Android學習筆記(9):使用XML檔案和Java程式碼控制UI介面

Android學習筆記(9):使用XML檔案和Java程式碼控制UI介面

Android推薦使用XML檔案設定UI介面,然後用Java程式碼控制邏輯部分,這體現了MVC思想。

MVC全名是Model View Controller,是模型(model)-檢視(view)-控制器(controller)的縮寫,一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。

我們可以在app\src\main\res\layout目錄下定義一個XML檔案(R.java檔案會自動收錄該資源),然後可以在Java程式碼的Activity元件中通過setContentView(R.layout.<

資原始檔名字>)顯示出來。

XML檔案中新增元件的時候,可以為元件指定android:id屬性,然後就可以在Java程式碼中通過findViewById(R.id.<android:id屬性>)訪問該元件。

當然android也支援完全使用Java程式碼設定UI介面,實現類似於Swing,下面是一個簡單的例子:

package zxc.blogtest;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout layout = new LinearLayout(this);
        super.setContentView(layout);
        layout.setOrientation(LinearLayout.VERTICAL);
        final TextView show = new TextView(this);
        Button bn = new Button(this);
        show.setText("HelloWorld");
        bn.setText("Button");
        layout.addView(show);
        layout.addView(bn);
    }
}

 

建立元件時傳入的this是一個Context引數,這是Activity和Service的基類,傳入的引數可以讓UI元件獲取到Android的全域性變數。

這種設定UI介面的方式非常不優美,而且和其他的邏輯程式碼放在一起會讓人覺得很混亂,非常不推薦。

關於XML檔案,前面已經有了簡單的介紹,後面也將會有相當多的部落格來介紹這方面的內容,這裡就先不說了。