2010年4月6日 星期二

Android Activity與Layout XML關係

Activity與Layout XML關係
在Android上,視覺外觀的View部分都是以XML型態存放在res/layout/目錄下
真正執行動作的Activity程式碼,是以Java型態
放在src的目錄下,這部份是真正執行的程式碼

1.XML與Java關係
Java與XML的關係,可以看成相當於Flex下MXML與AS的關係,
如果以MVC架構來看,可以把Layout XML當作一個單純的view,
而Java Code的Activity則相當於Mediator的角色,
由Activity去控制XML的顯示內容

2.如何讓Activity與XML關聯在一起?
可以在Activity內找到setContentView這Method
就是利用這Method把Java與XML的關係串起來
讓Java可以操作到XML上設定的view元素

3.在Java如何取得並操作XML上的元素
要操作xml上的view元素,都是要靠id來找到要控制的物件

4.如何在Layout XML內設定id值
在layout xml內,每個元件都要設定一個id值以供辨識
這view物件,設定值為 :@+id/要設定的id名稱

 <Button android:id="@+id/shareBtn" android:layout_width="wrap_content"  
 android:layout_height="35px" android:text="@string/music_shareBtn" />  

5.如何在Activity Java Code利用id值取到物件
主要利用R.id.viewID來取得

TextView myText=(TextView)findViewById(R.id.myTextId);

6.Activity取得layout view物件的標準流程
在Activity 的onCreate內將layout xml與Activity連結在一起


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TextView myText=(TextView)findViewById(R.id.myTextId);
}

沒有留言: