Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android開發入門(九)用戶界面 9.1 純編碼實現UI

Android開發入門(九)用戶界面 9.1 純編碼實現UI

編輯:Android開發教程

到目前為止,在所有的章節中,我們所看見的UI都是通過XML來實現的。之前也提及過,除了使用XML,也 可以使用代碼來實現UI界面。這個方式是很有用的,比如你的UI需要在運行時被生成。舉個例子,假設你在 編寫一個“電影票的預定系統”,你的程序使用按鈕Buttons去顯示每個電影院的座位。在這種情況下,你就 會需要依據實際情況去動態地生成UI。

下面的例子將會展示如何通過編碼,動態地在Activity中生成 UI。

1. 創建一個工程:UICode。

2. UICodeActivity.java中的代碼。

public 

class UICodeActivity extends Activity {      
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) {      
        super.onCreate(savedInstanceState);      
        //setContentView(R.layout.main);      
         
        LayoutParams params =       
            new LinearLayout.LayoutParams(      
                LayoutParams.FILL_PARENT,      
                LayoutParams.WRAP_CONTENT);      
          
        LinearLayout layout = new LinearLayout(this);      
        layout.setOrientation(LinearLayout.VERTICAL);      
           
        TextView tv = new TextView(this);      
        tv.setText("This is a TextView");      
        tv.setLayoutParams(params);      
         
        Button btn = new Button(this);      
        btn.setText("This is a Button");      
        btn.setLayoutParams(params);      
                                   
        layout.addView(tv);      
           
        layout.addView(btn);      
           
        LinearLayout.LayoutParams layoutParam =       
            new LinearLayout.LayoutParams(      
                    LayoutParams.FILL_PARENT,      
                    LayoutParams.WRAP_CONTENT );      
           
        this.addContentView(layout, layoutParam);      
    }      
}

3. 按F11調試,效果圖如下。

在這個例子中,首先要把setContentView()方法注釋掉,目的是不讓Activity去加載main.xml中的UI視圖。

然後,創建一個LayoutParams對象,這個對象指定了布局的屬性。

LayoutParams params = 

      
    new LinearLayout.LayoutParams(      
        LayoutParams.FILL_PARENT,      
        LayoutParams.WRAP_CONTENT);

也要創建一個LinearLayout對象,這個對象包含了 activity中的所有視圖。

LinearLayout layout = new LinearLayout(this);   
layout.setOrientation(LinearLayout.VERTICAL);

然後,創建一個TextView和一個Button。

TextView tv = new TextView(this);   
tv.setText("This is a TextView");   
tv.setLayoutParams(params);   
     
Button btn = new Button(this);   
btn.setText("This is a Button");   
btn.setLayoutParams(params);

然後,把它們加到LinearLayout對象中去。

layout.addView(tv);   
     
layout.addView(btn);

同時,也要創建一個LayoutParams對象,供LinearLayout對象使用。

LinearLayout.LayoutParams layoutParam =    
    new LinearLayout.LayoutParams(   
            LayoutParams.FILL_PARENT,   
            LayoutParams.WRAP_CONTENT );

最後,把這個LinearLayout對象添加到Activity中去 。

this.addContentView(layout, layoutParam);
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved